{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "98e820d1-5d05-49ef-9495-2756bfeac4f6",
   "metadata": {},
   "source": [
    "# hydrodata.reader.minio模块\n",
    "用于读取minio中的数据"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9f0e211e-09a0-4096-8bbe-d9467b302c39",
   "metadata": {},
   "source": [
    "## 读取era5"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "8e5817af-aa48-4062-8472-e5da6fab4c1d",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "from hydrodata.reader.minio import ERA5LReader\n",
    "import numpy as np\n",
    "import geopandas as gpd"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "4a5c1734-81bf-4741-871f-5ab8f9c955d2",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "era5 = ERA5LReader()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "9d673613-cc8c-49d2-b156-f36eb09e4b6f",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "start_time=np.datetime64(\"2021-06-01T00:00:00.000000000\")\n",
    "end_time=np.datetime64(\"2021-06-30T23:00:00.000000000\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "12caf0f0-7964-4d04-80b3-655a77e67901",
   "metadata": {},
   "source": [
    "- 通过指定四至范围读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "7ae6e3a2-7155-41b7-9d93-378942a386bd",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/home/zhujianfeng/.conda/envs/dev-env/lib/python3.10/site-packages/xarray/backends/plugins.py:80: RuntimeWarning: Engine 'cfgrib' loading failed:\n",
      "Cannot find the ecCodes library\n",
      "  warnings.warn(f\"Engine {name!r} loading failed:\\n{ex}\", RuntimeWarning)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=dark],\n",
       "body[data-theme=dark],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1F1F1F;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
       "Dimensions:  (time: 720, lon: 21, lat: 11)\n",
       "Coordinates:\n",
       "  * lat      (lat) float32 39.0 39.1 39.2 39.3 39.4 ... 39.6 39.7 39.8 39.9 40.0\n",
       "  * lon      (lon) float32 121.0 121.1 121.2 121.3 ... 122.7 122.8 122.9 123.0\n",
       "  * time     (time) datetime64[ns] 2021-06-01 ... 2021-06-30T23:00:00\n",
       "Data variables:\n",
       "    tp       (time, lon, lat) float32 dask.array&lt;chunksize=(24, 21, 11), meta=np.ndarray&gt;\n",
       "Attributes:\n",
       "    Conventions:  CF-1.6\n",
       "    history:      2022-07-21 12:13:40 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-d2347783-f6c2-4148-a0b0-f9cb96af53ac' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-d2347783-f6c2-4148-a0b0-f9cb96af53ac' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 720</li><li><span class='xr-has-index'>lon</span>: 21</li><li><span class='xr-has-index'>lat</span>: 11</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-67b2e144-239a-4529-9323-638a44e52825' class='xr-section-summary-in' type='checkbox'  checked><label for='section-67b2e144-239a-4529-9323-638a44e52825' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>39.0 39.1 39.2 ... 39.8 39.9 40.0</div><input id='attrs-f15f5e30-e5d0-4735-844c-4476876a356d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f15f5e30-e5d0-4735-844c-4476876a356d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d576e7e8-05ae-4fb8-99d0-0b1fa4d1f58b' class='xr-var-data-in' type='checkbox'><label for='data-d576e7e8-05ae-4fb8-99d0-0b1fa4d1f58b' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([39. , 39.1, 39.2, 39.3, 39.4, 39.5, 39.6, 39.7, 39.8, 39.9, 40. ],\n",
       "      dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>121.0 121.1 121.2 ... 122.9 123.0</div><input id='attrs-2c6b3a9c-2843-40fe-a861-5f9db89912df' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2c6b3a9c-2843-40fe-a861-5f9db89912df' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d441c0f0-695c-4683-8b2e-b3744a6aec84' class='xr-var-data-in' type='checkbox'><label for='data-d441c0f0-695c-4683-8b2e-b3744a6aec84' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([121. , 121.1, 121.2, 121.3, 121.4, 121.5, 121.6, 121.7, 121.8, 121.9,\n",
       "       122. , 122.1, 122.2, 122.3, 122.4, 122.5, 122.6, 122.7, 122.8, 122.9,\n",
       "       123. ], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2021-06-01 ... 2021-06-30T23:00:00</div><input id='attrs-1ddd11b2-69cd-4e70-bd52-f1af190f2128' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-1ddd11b2-69cd-4e70-bd52-f1af190f2128' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-c0153620-52a1-4459-a699-ae1d2b9075fb' class='xr-var-data-in' type='checkbox'><label for='data-c0153620-52a1-4459-a699-ae1d2b9075fb' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2021-06-01T00:00:00.000000000&#x27;, &#x27;2021-06-01T01:00:00.000000000&#x27;,\n",
       "       &#x27;2021-06-01T02:00:00.000000000&#x27;, ..., &#x27;2021-06-30T21:00:00.000000000&#x27;,\n",
       "       &#x27;2021-06-30T22:00:00.000000000&#x27;, &#x27;2021-06-30T23:00:00.000000000&#x27;],\n",
       "      dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-90feb277-0978-4bb0-a7c6-13c27a7d1b1d' class='xr-section-summary-in' type='checkbox'  checked><label for='section-90feb277-0978-4bb0-a7c6-13c27a7d1b1d' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>tp</span></div><div class='xr-var-dims'>(time, lon, lat)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(24, 21, 11), meta=np.ndarray&gt;</div><input id='attrs-0e326036-4338-47f6-8c67-18e254056a3b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0e326036-4338-47f6-8c67-18e254056a3b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7b31e792-0469-4dec-9c0f-f8c45a34114f' class='xr-var-data-in' type='checkbox'><label for='data-7b31e792-0469-4dec-9c0f-f8c45a34114f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Total precipitation</dd><dt><span>units :</span></dt><dd>m</dd></dl></div><div class='xr-var-data'><table>\n",
       "    <tr>\n",
       "        <td>\n",
       "            <table style=\"border-collapse: collapse;\">\n",
       "                <thead>\n",
       "                    <tr>\n",
       "                        <td> </td>\n",
       "                        <th> Array </th>\n",
       "                        <th> Chunk </th>\n",
       "                    </tr>\n",
       "                </thead>\n",
       "                <tbody>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Bytes </th>\n",
       "                        <td> 649.69 kiB </td>\n",
       "                        <td> 21.66 kiB </td>\n",
       "                    </tr>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Shape </th>\n",
       "                        <td> (720, 21, 11) </td>\n",
       "                        <td> (24, 21, 11) </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Dask graph </th>\n",
       "                        <td colspan=\"2\"> 30 chunks in 6 graph layers </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Data type </th>\n",
       "                        <td colspan=\"2\"> float32 numpy.ndarray </td>\n",
       "                    </tr>\n",
       "                </tbody>\n",
       "            </table>\n",
       "        </td>\n",
       "        <td>\n",
       "        <svg width=\"158\" height=\"151\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"10\" y1=\"31\" x2=\"80\" y2=\"101\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"31\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"33\" />\n",
       "  <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"38\" />\n",
       "  <line x1=\"19\" y1=\"9\" x2=\"19\" y2=\"40\" />\n",
       "  <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"45\" />\n",
       "  <line x1=\"26\" y1=\"16\" x2=\"26\" y2=\"47\" />\n",
       "  <line x1=\"31\" y1=\"21\" x2=\"31\" y2=\"52\" />\n",
       "  <line x1=\"35\" y1=\"25\" x2=\"35\" y2=\"57\" />\n",
       "  <line x1=\"38\" y1=\"28\" x2=\"38\" y2=\"59\" />\n",
       "  <line x1=\"42\" y1=\"32\" x2=\"42\" y2=\"64\" />\n",
       "  <line x1=\"45\" y1=\"35\" x2=\"45\" y2=\"66\" />\n",
       "  <line x1=\"50\" y1=\"40\" x2=\"50\" y2=\"71\" />\n",
       "  <line x1=\"52\" y1=\"42\" x2=\"52\" y2=\"73\" />\n",
       "  <line x1=\"57\" y1=\"47\" x2=\"57\" y2=\"78\" />\n",
       "  <line x1=\"61\" y1=\"51\" x2=\"61\" y2=\"82\" />\n",
       "  <line x1=\"64\" y1=\"54\" x2=\"64\" y2=\"85\" />\n",
       "  <line x1=\"68\" y1=\"58\" x2=\"68\" y2=\"90\" />\n",
       "  <line x1=\"71\" y1=\"61\" x2=\"71\" y2=\"92\" />\n",
       "  <line x1=\"75\" y1=\"65\" x2=\"75\" y2=\"97\" />\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"101\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,101.81028006774253 10.0,31.22204477362488\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"37\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"12\" y1=\"2\" x2=\"39\" y2=\"2\" />\n",
       "  <line x1=\"17\" y1=\"7\" x2=\"44\" y2=\"7\" />\n",
       "  <line x1=\"19\" y1=\"9\" x2=\"46\" y2=\"9\" />\n",
       "  <line x1=\"24\" y1=\"14\" x2=\"51\" y2=\"14\" />\n",
       "  <line x1=\"26\" y1=\"16\" x2=\"54\" y2=\"16\" />\n",
       "  <line x1=\"31\" y1=\"21\" x2=\"58\" y2=\"21\" />\n",
       "  <line x1=\"35\" y1=\"25\" x2=\"63\" y2=\"25\" />\n",
       "  <line x1=\"38\" y1=\"28\" x2=\"65\" y2=\"28\" />\n",
       "  <line x1=\"42\" y1=\"32\" x2=\"70\" y2=\"32\" />\n",
       "  <line x1=\"45\" y1=\"35\" x2=\"72\" y2=\"35\" />\n",
       "  <line x1=\"50\" y1=\"40\" x2=\"77\" y2=\"40\" />\n",
       "  <line x1=\"52\" y1=\"42\" x2=\"79\" y2=\"42\" />\n",
       "  <line x1=\"57\" y1=\"47\" x2=\"84\" y2=\"47\" />\n",
       "  <line x1=\"61\" y1=\"51\" x2=\"89\" y2=\"51\" />\n",
       "  <line x1=\"64\" y1=\"54\" x2=\"91\" y2=\"54\" />\n",
       "  <line x1=\"68\" y1=\"58\" x2=\"96\" y2=\"58\" />\n",
       "  <line x1=\"71\" y1=\"61\" x2=\"98\" y2=\"61\" />\n",
       "  <line x1=\"75\" y1=\"65\" x2=\"103\" y2=\"65\" />\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"108\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"37\" y1=\"0\" x2=\"108\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"10.0,0.0 37.55553293931477,0.0 108.14376823343243,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"108\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"80\" y1=\"101\" x2=\"108\" y2=\"101\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"101\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"108\" y1=\"70\" x2=\"108\" y2=\"101\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"80.58823529411765,70.58823529411765 108.14376823343243,70.58823529411765 108.14376823343243,101.81028006774253 80.58823529411765,101.81028006774253\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"94.366002\" y=\"121.810280\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >11</text>\n",
       "  <text x=\"128.143768\" y=\"86.199258\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,128.143768,86.199258)\">21</text>\n",
       "  <text x=\"35.294118\" y=\"86.516162\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,86.516162)\">720</text>\n",
       "</svg>\n",
       "        </td>\n",
       "    </tr>\n",
       "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-67546997-7fb6-4e5b-95c2-64dbd193761c' class='xr-section-summary-in' type='checkbox'  ><label for='section-67546997-7fb6-4e5b-95c2-64dbd193761c' class='xr-section-summary' >Indexes: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>lat</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-9df2c7df-9f03-4013-9a11-773dcc0e3f22' class='xr-index-data-in' type='checkbox'/><label for='index-9df2c7df-9f03-4013-9a11-773dcc0e3f22' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([              39.0, 39.099998474121094,  39.20000076293945,\n",
       "        39.29999923706055, 39.400001525878906,               39.5,\n",
       "       39.599998474121094,  39.70000076293945,  39.79999923706055,\n",
       "       39.900001525878906,               40.0],\n",
       "      dtype=&#x27;float32&#x27;, name=&#x27;lat&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>lon</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-d2735c51-337b-4dc2-aca0-5af071e6340d' class='xr-index-data-in' type='checkbox'/><label for='index-d2735c51-337b-4dc2-aca0-5af071e6340d' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([             121.0,  121.0999984741211, 121.19999694824219,\n",
       "       121.30000305175781,  121.4000015258789,              121.5,\n",
       "        121.5999984741211, 121.69999694824219, 121.80000305175781,\n",
       "        121.9000015258789,              122.0,  122.0999984741211,\n",
       "       122.19999694824219, 122.30000305175781,  122.4000015258789,\n",
       "                    122.5,  122.5999984741211, 122.69999694824219,\n",
       "       122.80000305175781,  122.9000015258789,              123.0],\n",
       "      dtype=&#x27;float32&#x27;, name=&#x27;lon&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-a48c3b71-15c9-4175-bfa9-e35dec46e948' class='xr-index-data-in' type='checkbox'/><label for='index-a48c3b71-15c9-4175-bfa9-e35dec46e948' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2021-06-01 00:00:00&#x27;, &#x27;2021-06-01 01:00:00&#x27;,\n",
       "               &#x27;2021-06-01 02:00:00&#x27;, &#x27;2021-06-01 03:00:00&#x27;,\n",
       "               &#x27;2021-06-01 04:00:00&#x27;, &#x27;2021-06-01 05:00:00&#x27;,\n",
       "               &#x27;2021-06-01 06:00:00&#x27;, &#x27;2021-06-01 07:00:00&#x27;,\n",
       "               &#x27;2021-06-01 08:00:00&#x27;, &#x27;2021-06-01 09:00:00&#x27;,\n",
       "               ...\n",
       "               &#x27;2021-06-30 14:00:00&#x27;, &#x27;2021-06-30 15:00:00&#x27;,\n",
       "               &#x27;2021-06-30 16:00:00&#x27;, &#x27;2021-06-30 17:00:00&#x27;,\n",
       "               &#x27;2021-06-30 18:00:00&#x27;, &#x27;2021-06-30 19:00:00&#x27;,\n",
       "               &#x27;2021-06-30 20:00:00&#x27;, &#x27;2021-06-30 21:00:00&#x27;,\n",
       "               &#x27;2021-06-30 22:00:00&#x27;, &#x27;2021-06-30 23:00:00&#x27;],\n",
       "              dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;time&#x27;, length=720, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-b35570f4-7b96-41f8-a97b-ee72447e1eeb' class='xr-section-summary-in' type='checkbox'  checked><label for='section-b35570f4-7b96-41f8-a97b-ee72447e1eeb' class='xr-section-summary' >Attributes: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>Conventions :</span></dt><dd>CF-1.6</dd><dt><span>history :</span></dt><dd>2022-07-21 12:13:40 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data3/adaptor.mars.internal-1658405615.0302866-15351-15-83c8a3b2-abf2-46ba-a14c-ec308c207ff8.nc /cache/tmp/83c8a3b2-abf2-46ba-a14c-ec308c207ff8-adaptor.mars.internal-1658405415.5680676-15351-27-tmp.grib</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.Dataset>\n",
       "Dimensions:  (time: 720, lon: 21, lat: 11)\n",
       "Coordinates:\n",
       "  * lat      (lat) float32 39.0 39.1 39.2 39.3 39.4 ... 39.6 39.7 39.8 39.9 40.0\n",
       "  * lon      (lon) float32 121.0 121.1 121.2 121.3 ... 122.7 122.8 122.9 123.0\n",
       "  * time     (time) datetime64[ns] 2021-06-01 ... 2021-06-30T23:00:00\n",
       "Data variables:\n",
       "    tp       (time, lon, lat) float32 dask.array<chunksize=(24, 21, 11), meta=np.ndarray>\n",
       "Attributes:\n",
       "    Conventions:  CF-1.6\n",
       "    history:      2022-07-21 12:13:40 GMT by grib_to_netcdf-2.25.1: /opt/ecmw..."
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bbox=(121,39,123,40)\n",
    "e1 = era5.open_dataset(data_variables=['Total precipitation'], start_time=start_time, end_time=end_time, dataset='wis', bbox=bbox)\n",
    "e1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f7b57be1-a681-40ac-bae8-bfbfc87547e4",
   "metadata": {},
   "source": [
    "- 通过矢量数据文件读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f5bf5f28-88d9-4ac9-8977-0e5f11b4977a",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=dark],\n",
       "body[data-theme=dark],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1F1F1F;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
       "Dimensions:  (time: 720, lon: 6, lat: 5)\n",
       "Coordinates:\n",
       "  * lat      (lat) float32 39.8 39.9 40.0 40.1 40.2\n",
       "  * lon      (lon) float32 122.3 122.4 122.5 122.6 122.7 122.8\n",
       "  * time     (time) datetime64[ns] 2021-06-01 ... 2021-06-30T23:00:00\n",
       "Data variables:\n",
       "    tp       (time, lon, lat) float32 dask.array&lt;chunksize=(24, 6, 5), meta=np.ndarray&gt;\n",
       "Attributes:\n",
       "    Conventions:  CF-1.6\n",
       "    history:      2022-07-21 12:13:40 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-444b1813-7451-4535-9d80-669df517a650' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-444b1813-7451-4535-9d80-669df517a650' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 720</li><li><span class='xr-has-index'>lon</span>: 6</li><li><span class='xr-has-index'>lat</span>: 5</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-f3b07efa-2450-4c49-aab0-f0ec01a16d53' class='xr-section-summary-in' type='checkbox'  checked><label for='section-f3b07efa-2450-4c49-aab0-f0ec01a16d53' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>39.8 39.9 40.0 40.1 40.2</div><input id='attrs-cf9eaef8-e869-4088-b467-c22e9c42a085' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-cf9eaef8-e869-4088-b467-c22e9c42a085' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1303eb0b-6e47-4755-aa56-2d36a91c7233' class='xr-var-data-in' type='checkbox'><label for='data-1303eb0b-6e47-4755-aa56-2d36a91c7233' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([39.8, 39.9, 40. , 40.1, 40.2], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>122.3 122.4 122.5 122.6 122.7 122.8</div><input id='attrs-dc7ea82b-d718-4b7d-bbab-6542fc42bbfc' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-dc7ea82b-d718-4b7d-bbab-6542fc42bbfc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-384c78a0-24b2-4c3d-9cc3-0560a13d5256' class='xr-var-data-in' type='checkbox'><label for='data-384c78a0-24b2-4c3d-9cc3-0560a13d5256' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([122.3, 122.4, 122.5, 122.6, 122.7, 122.8], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2021-06-01 ... 2021-06-30T23:00:00</div><input id='attrs-893fce27-2bc0-45ea-8254-cc8268065185' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-893fce27-2bc0-45ea-8254-cc8268065185' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a386d00b-85fb-48ef-989c-6edf31f8aed7' class='xr-var-data-in' type='checkbox'><label for='data-a386d00b-85fb-48ef-989c-6edf31f8aed7' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2021-06-01T00:00:00.000000000&#x27;, &#x27;2021-06-01T01:00:00.000000000&#x27;,\n",
       "       &#x27;2021-06-01T02:00:00.000000000&#x27;, ..., &#x27;2021-06-30T21:00:00.000000000&#x27;,\n",
       "       &#x27;2021-06-30T22:00:00.000000000&#x27;, &#x27;2021-06-30T23:00:00.000000000&#x27;],\n",
       "      dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-4c3aa79d-bf72-4c6f-ad67-0fbde63b3ea5' class='xr-section-summary-in' type='checkbox'  checked><label for='section-4c3aa79d-bf72-4c6f-ad67-0fbde63b3ea5' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>tp</span></div><div class='xr-var-dims'>(time, lon, lat)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(24, 6, 5), meta=np.ndarray&gt;</div><input id='attrs-ad2cfcbb-4741-4a1f-810e-0a2b74927633' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ad2cfcbb-4741-4a1f-810e-0a2b74927633' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-efd2f04e-7b5d-4c93-954e-383eb2a9c600' class='xr-var-data-in' type='checkbox'><label for='data-efd2f04e-7b5d-4c93-954e-383eb2a9c600' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Total precipitation</dd><dt><span>units :</span></dt><dd>m</dd></dl></div><div class='xr-var-data'><table>\n",
       "    <tr>\n",
       "        <td>\n",
       "            <table style=\"border-collapse: collapse;\">\n",
       "                <thead>\n",
       "                    <tr>\n",
       "                        <td> </td>\n",
       "                        <th> Array </th>\n",
       "                        <th> Chunk </th>\n",
       "                    </tr>\n",
       "                </thead>\n",
       "                <tbody>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Bytes </th>\n",
       "                        <td> 84.38 kiB </td>\n",
       "                        <td> 2.81 kiB </td>\n",
       "                    </tr>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Shape </th>\n",
       "                        <td> (720, 6, 5) </td>\n",
       "                        <td> (24, 6, 5) </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Dask graph </th>\n",
       "                        <td colspan=\"2\"> 30 chunks in 6 graph layers </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Data type </th>\n",
       "                        <td colspan=\"2\"> float32 numpy.ndarray </td>\n",
       "                    </tr>\n",
       "                </tbody>\n",
       "            </table>\n",
       "        </td>\n",
       "        <td>\n",
       "        <svg width=\"156\" height=\"146\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"10\" y1=\"25\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"27\" />\n",
       "  <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"32\" />\n",
       "  <line x1=\"19\" y1=\"9\" x2=\"19\" y2=\"34\" />\n",
       "  <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"39\" />\n",
       "  <line x1=\"26\" y1=\"16\" x2=\"26\" y2=\"41\" />\n",
       "  <line x1=\"31\" y1=\"21\" x2=\"31\" y2=\"46\" />\n",
       "  <line x1=\"35\" y1=\"25\" x2=\"35\" y2=\"51\" />\n",
       "  <line x1=\"38\" y1=\"28\" x2=\"38\" y2=\"53\" />\n",
       "  <line x1=\"42\" y1=\"32\" x2=\"42\" y2=\"58\" />\n",
       "  <line x1=\"45\" y1=\"35\" x2=\"45\" y2=\"60\" />\n",
       "  <line x1=\"50\" y1=\"40\" x2=\"50\" y2=\"65\" />\n",
       "  <line x1=\"52\" y1=\"42\" x2=\"52\" y2=\"67\" />\n",
       "  <line x1=\"57\" y1=\"47\" x2=\"57\" y2=\"72\" />\n",
       "  <line x1=\"61\" y1=\"51\" x2=\"61\" y2=\"77\" />\n",
       "  <line x1=\"64\" y1=\"54\" x2=\"64\" y2=\"79\" />\n",
       "  <line x1=\"68\" y1=\"58\" x2=\"68\" y2=\"84\" />\n",
       "  <line x1=\"71\" y1=\"61\" x2=\"71\" y2=\"86\" />\n",
       "  <line x1=\"75\" y1=\"65\" x2=\"75\" y2=\"91\" />\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,96.00085180870013 10.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"35\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"12\" y1=\"2\" x2=\"37\" y2=\"2\" />\n",
       "  <line x1=\"17\" y1=\"7\" x2=\"42\" y2=\"7\" />\n",
       "  <line x1=\"19\" y1=\"9\" x2=\"44\" y2=\"9\" />\n",
       "  <line x1=\"24\" y1=\"14\" x2=\"49\" y2=\"14\" />\n",
       "  <line x1=\"26\" y1=\"16\" x2=\"51\" y2=\"16\" />\n",
       "  <line x1=\"31\" y1=\"21\" x2=\"56\" y2=\"21\" />\n",
       "  <line x1=\"35\" y1=\"25\" x2=\"61\" y2=\"25\" />\n",
       "  <line x1=\"38\" y1=\"28\" x2=\"63\" y2=\"28\" />\n",
       "  <line x1=\"42\" y1=\"32\" x2=\"68\" y2=\"32\" />\n",
       "  <line x1=\"45\" y1=\"35\" x2=\"70\" y2=\"35\" />\n",
       "  <line x1=\"50\" y1=\"40\" x2=\"75\" y2=\"40\" />\n",
       "  <line x1=\"52\" y1=\"42\" x2=\"77\" y2=\"42\" />\n",
       "  <line x1=\"57\" y1=\"47\" x2=\"82\" y2=\"47\" />\n",
       "  <line x1=\"61\" y1=\"51\" x2=\"87\" y2=\"51\" />\n",
       "  <line x1=\"64\" y1=\"54\" x2=\"89\" y2=\"54\" />\n",
       "  <line x1=\"68\" y1=\"58\" x2=\"94\" y2=\"58\" />\n",
       "  <line x1=\"71\" y1=\"61\" x2=\"96\" y2=\"61\" />\n",
       "  <line x1=\"75\" y1=\"65\" x2=\"101\" y2=\"65\" />\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"35\" y1=\"0\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"10.0,0.0 35.41261651458248,0.0 106.00085180870013,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"80\" y1=\"96\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"106\" y1=\"70\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"80.58823529411765,70.58823529411765 106.00085180870013,70.58823529411765 106.00085180870013,96.00085180870013 80.58823529411765,96.00085180870013\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"93.294544\" y=\"116.000852\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >5</text>\n",
       "  <text x=\"126.000852\" y=\"83.294544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,126.000852,83.294544)\">6</text>\n",
       "  <text x=\"35.294118\" y=\"80.706734\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,80.706734)\">720</text>\n",
       "</svg>\n",
       "        </td>\n",
       "    </tr>\n",
       "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-d40e8ffb-f019-402e-a7f2-5f2d5b507348' class='xr-section-summary-in' type='checkbox'  ><label for='section-d40e8ffb-f019-402e-a7f2-5f2d5b507348' class='xr-section-summary' >Indexes: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>lat</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-a5e3c117-cf7f-49c1-a600-d7bd1eebaa1a' class='xr-index-data-in' type='checkbox'/><label for='index-a5e3c117-cf7f-49c1-a600-d7bd1eebaa1a' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 39.79999923706055, 39.900001525878906,               40.0,\n",
       "       40.099998474121094,  40.20000076293945],\n",
       "      dtype=&#x27;float32&#x27;, name=&#x27;lat&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>lon</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-ff782075-4da9-4865-b85f-579bd8756e19' class='xr-index-data-in' type='checkbox'/><label for='index-ff782075-4da9-4865-b85f-579bd8756e19' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([122.30000305175781,  122.4000015258789,              122.5,\n",
       "        122.5999984741211, 122.69999694824219, 122.80000305175781],\n",
       "      dtype=&#x27;float32&#x27;, name=&#x27;lon&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-0b24a174-3683-4aea-ad81-8f0cd38f1cdc' class='xr-index-data-in' type='checkbox'/><label for='index-0b24a174-3683-4aea-ad81-8f0cd38f1cdc' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2021-06-01 00:00:00&#x27;, &#x27;2021-06-01 01:00:00&#x27;,\n",
       "               &#x27;2021-06-01 02:00:00&#x27;, &#x27;2021-06-01 03:00:00&#x27;,\n",
       "               &#x27;2021-06-01 04:00:00&#x27;, &#x27;2021-06-01 05:00:00&#x27;,\n",
       "               &#x27;2021-06-01 06:00:00&#x27;, &#x27;2021-06-01 07:00:00&#x27;,\n",
       "               &#x27;2021-06-01 08:00:00&#x27;, &#x27;2021-06-01 09:00:00&#x27;,\n",
       "               ...\n",
       "               &#x27;2021-06-30 14:00:00&#x27;, &#x27;2021-06-30 15:00:00&#x27;,\n",
       "               &#x27;2021-06-30 16:00:00&#x27;, &#x27;2021-06-30 17:00:00&#x27;,\n",
       "               &#x27;2021-06-30 18:00:00&#x27;, &#x27;2021-06-30 19:00:00&#x27;,\n",
       "               &#x27;2021-06-30 20:00:00&#x27;, &#x27;2021-06-30 21:00:00&#x27;,\n",
       "               &#x27;2021-06-30 22:00:00&#x27;, &#x27;2021-06-30 23:00:00&#x27;],\n",
       "              dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;time&#x27;, length=720, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-9bdccd78-0484-4bed-9a67-5d80da9a4000' class='xr-section-summary-in' type='checkbox'  checked><label for='section-9bdccd78-0484-4bed-9a67-5d80da9a4000' class='xr-section-summary' >Attributes: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>Conventions :</span></dt><dd>CF-1.6</dd><dt><span>history :</span></dt><dd>2022-07-21 12:13:40 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data3/adaptor.mars.internal-1658405615.0302866-15351-15-83c8a3b2-abf2-46ba-a14c-ec308c207ff8.nc /cache/tmp/83c8a3b2-abf2-46ba-a14c-ec308c207ff8-adaptor.mars.internal-1658405415.5680676-15351-27-tmp.grib</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.Dataset>\n",
       "Dimensions:  (time: 720, lon: 6, lat: 5)\n",
       "Coordinates:\n",
       "  * lat      (lat) float32 39.8 39.9 40.0 40.1 40.2\n",
       "  * lon      (lon) float32 122.3 122.4 122.5 122.6 122.7 122.8\n",
       "  * time     (time) datetime64[ns] 2021-06-01 ... 2021-06-30T23:00:00\n",
       "Data variables:\n",
       "    tp       (time, lon, lat) float32 dask.array<chunksize=(24, 6, 5), meta=np.ndarray>\n",
       "Attributes:\n",
       "    Conventions:  CF-1.6\n",
       "    history:      2022-07-21 12:13:40 GMT by grib_to_netcdf-2.25.1: /opt/ecmw..."
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shp = 'basin.geojson'\n",
    "e2 = era5.from_shp(data_variables=['Total precipitation'], start_time=start_time, end_time=end_time, dataset='wis', shp=shp)\n",
    "e2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9ba298b4-a048-4962-9f9e-aac13c8be920",
   "metadata": {},
   "source": [
    "- 通过已有aoi对象读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "b244154b-acd6-49b9-aa3e-9dbfcbc59a4e",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=dark],\n",
       "body[data-theme=dark],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1F1F1F;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
       "Dimensions:  (time: 720, lon: 6, lat: 5)\n",
       "Coordinates:\n",
       "  * lat      (lat) float32 39.8 39.9 40.0 40.1 40.2\n",
       "  * lon      (lon) float32 122.3 122.4 122.5 122.6 122.7 122.8\n",
       "  * time     (time) datetime64[ns] 2021-06-01 ... 2021-06-30T23:00:00\n",
       "Data variables:\n",
       "    tp       (time, lon, lat) float32 dask.array&lt;chunksize=(24, 6, 5), meta=np.ndarray&gt;\n",
       "Attributes:\n",
       "    Conventions:  CF-1.6\n",
       "    history:      2022-07-21 12:13:40 GMT by grib_to_netcdf-2.25.1: /opt/ecmw...</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-fe49d89a-df21-4bb7-b088-5bfa730b4771' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-fe49d89a-df21-4bb7-b088-5bfa730b4771' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 720</li><li><span class='xr-has-index'>lon</span>: 6</li><li><span class='xr-has-index'>lat</span>: 5</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-d2587527-620e-48fa-baf2-6d3d2254a672' class='xr-section-summary-in' type='checkbox'  checked><label for='section-d2587527-620e-48fa-baf2-6d3d2254a672' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>39.8 39.9 40.0 40.1 40.2</div><input id='attrs-08dd4f57-11e3-46cf-bc5b-8b53775ddad1' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-08dd4f57-11e3-46cf-bc5b-8b53775ddad1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d34da20a-0380-4f06-9387-56a6bbfaa1c9' class='xr-var-data-in' type='checkbox'><label for='data-d34da20a-0380-4f06-9387-56a6bbfaa1c9' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([39.8, 39.9, 40. , 40.1, 40.2], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>122.3 122.4 122.5 122.6 122.7 122.8</div><input id='attrs-c9d2f7c9-a1a9-4117-9697-cf58af57b280' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c9d2f7c9-a1a9-4117-9697-cf58af57b280' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5dc1e6f9-9c8b-49df-bf2d-f33b4f165f04' class='xr-var-data-in' type='checkbox'><label for='data-5dc1e6f9-9c8b-49df-bf2d-f33b4f165f04' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([122.3, 122.4, 122.5, 122.6, 122.7, 122.8], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2021-06-01 ... 2021-06-30T23:00:00</div><input id='attrs-bc3a1a0b-e4f6-479d-ac2f-ef9416689ca1' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-bc3a1a0b-e4f6-479d-ac2f-ef9416689ca1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2c49651d-3069-4c6a-af69-d4e9cdd995f8' class='xr-var-data-in' type='checkbox'><label for='data-2c49651d-3069-4c6a-af69-d4e9cdd995f8' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>time</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2021-06-01T00:00:00.000000000&#x27;, &#x27;2021-06-01T01:00:00.000000000&#x27;,\n",
       "       &#x27;2021-06-01T02:00:00.000000000&#x27;, ..., &#x27;2021-06-30T21:00:00.000000000&#x27;,\n",
       "       &#x27;2021-06-30T22:00:00.000000000&#x27;, &#x27;2021-06-30T23:00:00.000000000&#x27;],\n",
       "      dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-86454d1d-83ac-4d23-876b-851933e9a476' class='xr-section-summary-in' type='checkbox'  checked><label for='section-86454d1d-83ac-4d23-876b-851933e9a476' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>tp</span></div><div class='xr-var-dims'>(time, lon, lat)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(24, 6, 5), meta=np.ndarray&gt;</div><input id='attrs-8e41199f-34e8-493b-8c2e-9c0bc04816da' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8e41199f-34e8-493b-8c2e-9c0bc04816da' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-f7b82b26-0f66-4de0-8041-99b687c5655a' class='xr-var-data-in' type='checkbox'><label for='data-f7b82b26-0f66-4de0-8041-99b687c5655a' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Total precipitation</dd><dt><span>units :</span></dt><dd>m</dd></dl></div><div class='xr-var-data'><table>\n",
       "    <tr>\n",
       "        <td>\n",
       "            <table style=\"border-collapse: collapse;\">\n",
       "                <thead>\n",
       "                    <tr>\n",
       "                        <td> </td>\n",
       "                        <th> Array </th>\n",
       "                        <th> Chunk </th>\n",
       "                    </tr>\n",
       "                </thead>\n",
       "                <tbody>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Bytes </th>\n",
       "                        <td> 84.38 kiB </td>\n",
       "                        <td> 2.81 kiB </td>\n",
       "                    </tr>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Shape </th>\n",
       "                        <td> (720, 6, 5) </td>\n",
       "                        <td> (24, 6, 5) </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Dask graph </th>\n",
       "                        <td colspan=\"2\"> 30 chunks in 6 graph layers </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Data type </th>\n",
       "                        <td colspan=\"2\"> float32 numpy.ndarray </td>\n",
       "                    </tr>\n",
       "                </tbody>\n",
       "            </table>\n",
       "        </td>\n",
       "        <td>\n",
       "        <svg width=\"156\" height=\"146\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"10\" y1=\"25\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"27\" />\n",
       "  <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"32\" />\n",
       "  <line x1=\"19\" y1=\"9\" x2=\"19\" y2=\"34\" />\n",
       "  <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"39\" />\n",
       "  <line x1=\"26\" y1=\"16\" x2=\"26\" y2=\"41\" />\n",
       "  <line x1=\"31\" y1=\"21\" x2=\"31\" y2=\"46\" />\n",
       "  <line x1=\"35\" y1=\"25\" x2=\"35\" y2=\"51\" />\n",
       "  <line x1=\"38\" y1=\"28\" x2=\"38\" y2=\"53\" />\n",
       "  <line x1=\"42\" y1=\"32\" x2=\"42\" y2=\"58\" />\n",
       "  <line x1=\"45\" y1=\"35\" x2=\"45\" y2=\"60\" />\n",
       "  <line x1=\"50\" y1=\"40\" x2=\"50\" y2=\"65\" />\n",
       "  <line x1=\"52\" y1=\"42\" x2=\"52\" y2=\"67\" />\n",
       "  <line x1=\"57\" y1=\"47\" x2=\"57\" y2=\"72\" />\n",
       "  <line x1=\"61\" y1=\"51\" x2=\"61\" y2=\"77\" />\n",
       "  <line x1=\"64\" y1=\"54\" x2=\"64\" y2=\"79\" />\n",
       "  <line x1=\"68\" y1=\"58\" x2=\"68\" y2=\"84\" />\n",
       "  <line x1=\"71\" y1=\"61\" x2=\"71\" y2=\"86\" />\n",
       "  <line x1=\"75\" y1=\"65\" x2=\"75\" y2=\"91\" />\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,96.00085180870013 10.0,25.412616514582485\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"35\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"12\" y1=\"2\" x2=\"37\" y2=\"2\" />\n",
       "  <line x1=\"17\" y1=\"7\" x2=\"42\" y2=\"7\" />\n",
       "  <line x1=\"19\" y1=\"9\" x2=\"44\" y2=\"9\" />\n",
       "  <line x1=\"24\" y1=\"14\" x2=\"49\" y2=\"14\" />\n",
       "  <line x1=\"26\" y1=\"16\" x2=\"51\" y2=\"16\" />\n",
       "  <line x1=\"31\" y1=\"21\" x2=\"56\" y2=\"21\" />\n",
       "  <line x1=\"35\" y1=\"25\" x2=\"61\" y2=\"25\" />\n",
       "  <line x1=\"38\" y1=\"28\" x2=\"63\" y2=\"28\" />\n",
       "  <line x1=\"42\" y1=\"32\" x2=\"68\" y2=\"32\" />\n",
       "  <line x1=\"45\" y1=\"35\" x2=\"70\" y2=\"35\" />\n",
       "  <line x1=\"50\" y1=\"40\" x2=\"75\" y2=\"40\" />\n",
       "  <line x1=\"52\" y1=\"42\" x2=\"77\" y2=\"42\" />\n",
       "  <line x1=\"57\" y1=\"47\" x2=\"82\" y2=\"47\" />\n",
       "  <line x1=\"61\" y1=\"51\" x2=\"87\" y2=\"51\" />\n",
       "  <line x1=\"64\" y1=\"54\" x2=\"89\" y2=\"54\" />\n",
       "  <line x1=\"68\" y1=\"58\" x2=\"94\" y2=\"58\" />\n",
       "  <line x1=\"71\" y1=\"61\" x2=\"96\" y2=\"61\" />\n",
       "  <line x1=\"75\" y1=\"65\" x2=\"101\" y2=\"65\" />\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"35\" y1=\"0\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"10.0,0.0 35.41261651458248,0.0 106.00085180870013,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"80\" y1=\"96\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"106\" y1=\"70\" x2=\"106\" y2=\"96\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"80.58823529411765,70.58823529411765 106.00085180870013,70.58823529411765 106.00085180870013,96.00085180870013 80.58823529411765,96.00085180870013\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"93.294544\" y=\"116.000852\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >5</text>\n",
       "  <text x=\"126.000852\" y=\"83.294544\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,126.000852,83.294544)\">6</text>\n",
       "  <text x=\"35.294118\" y=\"80.706734\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,80.706734)\">720</text>\n",
       "</svg>\n",
       "        </td>\n",
       "    </tr>\n",
       "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-ff7345c2-a2df-4583-b452-2e07d2d57c43' class='xr-section-summary-in' type='checkbox'  ><label for='section-ff7345c2-a2df-4583-b452-2e07d2d57c43' class='xr-section-summary' >Indexes: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>lat</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-1131cbf1-d0d4-4437-8278-d0b36d2ca00e' class='xr-index-data-in' type='checkbox'/><label for='index-1131cbf1-d0d4-4437-8278-d0b36d2ca00e' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 39.79999923706055, 39.900001525878906,               40.0,\n",
       "       40.099998474121094,  40.20000076293945],\n",
       "      dtype=&#x27;float32&#x27;, name=&#x27;lat&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>lon</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-209b9cd2-5211-4ec5-a7fd-2a24aa5e0c92' class='xr-index-data-in' type='checkbox'/><label for='index-209b9cd2-5211-4ec5-a7fd-2a24aa5e0c92' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([122.30000305175781,  122.4000015258789,              122.5,\n",
       "        122.5999984741211, 122.69999694824219, 122.80000305175781],\n",
       "      dtype=&#x27;float32&#x27;, name=&#x27;lon&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-dafa0f64-e5bf-4259-af5b-521677347192' class='xr-index-data-in' type='checkbox'/><label for='index-dafa0f64-e5bf-4259-af5b-521677347192' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2021-06-01 00:00:00&#x27;, &#x27;2021-06-01 01:00:00&#x27;,\n",
       "               &#x27;2021-06-01 02:00:00&#x27;, &#x27;2021-06-01 03:00:00&#x27;,\n",
       "               &#x27;2021-06-01 04:00:00&#x27;, &#x27;2021-06-01 05:00:00&#x27;,\n",
       "               &#x27;2021-06-01 06:00:00&#x27;, &#x27;2021-06-01 07:00:00&#x27;,\n",
       "               &#x27;2021-06-01 08:00:00&#x27;, &#x27;2021-06-01 09:00:00&#x27;,\n",
       "               ...\n",
       "               &#x27;2021-06-30 14:00:00&#x27;, &#x27;2021-06-30 15:00:00&#x27;,\n",
       "               &#x27;2021-06-30 16:00:00&#x27;, &#x27;2021-06-30 17:00:00&#x27;,\n",
       "               &#x27;2021-06-30 18:00:00&#x27;, &#x27;2021-06-30 19:00:00&#x27;,\n",
       "               &#x27;2021-06-30 20:00:00&#x27;, &#x27;2021-06-30 21:00:00&#x27;,\n",
       "               &#x27;2021-06-30 22:00:00&#x27;, &#x27;2021-06-30 23:00:00&#x27;],\n",
       "              dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;time&#x27;, length=720, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-32af8aee-c9ea-4c38-94c7-24f24fbaafa6' class='xr-section-summary-in' type='checkbox'  checked><label for='section-32af8aee-c9ea-4c38-94c7-24f24fbaafa6' class='xr-section-summary' >Attributes: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>Conventions :</span></dt><dd>CF-1.6</dd><dt><span>history :</span></dt><dd>2022-07-21 12:13:40 GMT by grib_to_netcdf-2.25.1: /opt/ecmwf/mars-client/bin/grib_to_netcdf.bin -S param -o /cache/data3/adaptor.mars.internal-1658405615.0302866-15351-15-83c8a3b2-abf2-46ba-a14c-ec308c207ff8.nc /cache/tmp/83c8a3b2-abf2-46ba-a14c-ec308c207ff8-adaptor.mars.internal-1658405415.5680676-15351-27-tmp.grib</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.Dataset>\n",
       "Dimensions:  (time: 720, lon: 6, lat: 5)\n",
       "Coordinates:\n",
       "  * lat      (lat) float32 39.8 39.9 40.0 40.1 40.2\n",
       "  * lon      (lon) float32 122.3 122.4 122.5 122.6 122.7 122.8\n",
       "  * time     (time) datetime64[ns] 2021-06-01 ... 2021-06-30T23:00:00\n",
       "Data variables:\n",
       "    tp       (time, lon, lat) float32 dask.array<chunksize=(24, 6, 5), meta=np.ndarray>\n",
       "Attributes:\n",
       "    Conventions:  CF-1.6\n",
       "    history:      2022-07-21 12:13:40 GMT by grib_to_netcdf-2.25.1: /opt/ecmw..."
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aoi = gpd.read_file(shp)\n",
    "e3 = era5.from_aoi(data_variables=['Total precipitation'], start_time=start_time, end_time=end_time, dataset='wis', aoi=aoi)\n",
    "e3"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1d8a4489-99c6-42f5-8e39-a4a27b184160",
   "metadata": {
    "tags": []
   },
   "source": [
    "## 读取gpm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "df9f0651-b566-4ab5-a581-9b0b813927a9",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "from hydrodata.reader.minio import GPMReader"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "99c632c8-2b44-4ce6-a753-513736d41598",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "gpm = GPMReader()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "87b554dd-2639-464f-b50c-5d35eac2c8ab",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "start_time=np.datetime64(\"2023-06-01T00:00:00.000000000\")\n",
    "end_time=np.datetime64(\"2023-06-30T23:30:00.000000000\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "51b11fab-3986-4e39-b8a9-7127d6abe73e",
   "metadata": {},
   "source": [
    "- 通过指定四至范围读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "ec9ff652-aca9-4cfa-9cd5-505d8f1fb57c",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=dark],\n",
       "body[data-theme=dark],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1F1F1F;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.DataArray &#x27;precipitationCal&#x27; (time: 1440, lon: 20, lat: 10)&gt;\n",
       "dask.array&lt;getitem, shape=(1440, 20, 10), dtype=float32, chunksize=(48, 20, 10), chunktype=numpy.ndarray&gt;\n",
       "Coordinates:\n",
       "  * lat      (lat) float32 39.05 39.15 39.25 39.35 ... 39.65 39.75 39.85 39.95\n",
       "  * lon      (lon) float32 -122.9 -122.8 -122.8 -122.7 ... -121.2 -121.2 -121.1\n",
       "  * time     (time) datetime64[ns] 2023-06-01 ... 2023-06-30T23:30:00\n",
       "Attributes:\n",
       "    CodeMissingValue:  -9999.9\n",
       "    DimensionNames:    time,lon,lat\n",
       "    Units:             mm/hr\n",
       "    units:             mm/hr</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'precipitationCal'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 1440</li><li><span class='xr-has-index'>lon</span>: 20</li><li><span class='xr-has-index'>lat</span>: 10</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-861eacad-7fcb-4e13-923e-de315026805e' class='xr-array-in' type='checkbox' checked><label for='section-861eacad-7fcb-4e13-923e-de315026805e' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>dask.array&lt;chunksize=(48, 20, 10), meta=np.ndarray&gt;</span></div><div class='xr-array-data'><table>\n",
       "    <tr>\n",
       "        <td>\n",
       "            <table style=\"border-collapse: collapse;\">\n",
       "                <thead>\n",
       "                    <tr>\n",
       "                        <td> </td>\n",
       "                        <th> Array </th>\n",
       "                        <th> Chunk </th>\n",
       "                    </tr>\n",
       "                </thead>\n",
       "                <tbody>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Bytes </th>\n",
       "                        <td> 1.10 MiB </td>\n",
       "                        <td> 37.50 kiB </td>\n",
       "                    </tr>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Shape </th>\n",
       "                        <td> (1440, 20, 10) </td>\n",
       "                        <td> (48, 20, 10) </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Dask graph </th>\n",
       "                        <td colspan=\"2\"> 30 chunks in 3 graph layers </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Data type </th>\n",
       "                        <td colspan=\"2\"> float32 numpy.ndarray </td>\n",
       "                    </tr>\n",
       "                </tbody>\n",
       "            </table>\n",
       "        </td>\n",
       "        <td>\n",
       "        <svg width=\"156\" height=\"147\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"10\" y1=\"27\" x2=\"80\" y2=\"97\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"10\" y2=\"27\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"12\" y1=\"2\" x2=\"12\" y2=\"29\" />\n",
       "  <line x1=\"17\" y1=\"7\" x2=\"17\" y2=\"34\" />\n",
       "  <line x1=\"19\" y1=\"9\" x2=\"19\" y2=\"36\" />\n",
       "  <line x1=\"24\" y1=\"14\" x2=\"24\" y2=\"41\" />\n",
       "  <line x1=\"26\" y1=\"16\" x2=\"26\" y2=\"43\" />\n",
       "  <line x1=\"31\" y1=\"21\" x2=\"31\" y2=\"48\" />\n",
       "  <line x1=\"35\" y1=\"25\" x2=\"35\" y2=\"52\" />\n",
       "  <line x1=\"38\" y1=\"28\" x2=\"38\" y2=\"55\" />\n",
       "  <line x1=\"42\" y1=\"32\" x2=\"42\" y2=\"59\" />\n",
       "  <line x1=\"45\" y1=\"35\" x2=\"45\" y2=\"62\" />\n",
       "  <line x1=\"50\" y1=\"40\" x2=\"50\" y2=\"67\" />\n",
       "  <line x1=\"52\" y1=\"42\" x2=\"52\" y2=\"69\" />\n",
       "  <line x1=\"57\" y1=\"47\" x2=\"57\" y2=\"74\" />\n",
       "  <line x1=\"61\" y1=\"51\" x2=\"61\" y2=\"78\" />\n",
       "  <line x1=\"64\" y1=\"54\" x2=\"64\" y2=\"81\" />\n",
       "  <line x1=\"68\" y1=\"58\" x2=\"68\" y2=\"85\" />\n",
       "  <line x1=\"71\" y1=\"61\" x2=\"71\" y2=\"88\" />\n",
       "  <line x1=\"75\" y1=\"65\" x2=\"75\" y2=\"92\" />\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"97\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"10.0,0.0 80.58823529411765,70.58823529411765 80.58823529411765,97.64227125728706 10.0,27.054035963169405\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"35\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"12\" y1=\"2\" x2=\"37\" y2=\"2\" />\n",
       "  <line x1=\"17\" y1=\"7\" x2=\"42\" y2=\"7\" />\n",
       "  <line x1=\"19\" y1=\"9\" x2=\"44\" y2=\"9\" />\n",
       "  <line x1=\"24\" y1=\"14\" x2=\"49\" y2=\"14\" />\n",
       "  <line x1=\"26\" y1=\"16\" x2=\"51\" y2=\"16\" />\n",
       "  <line x1=\"31\" y1=\"21\" x2=\"56\" y2=\"21\" />\n",
       "  <line x1=\"35\" y1=\"25\" x2=\"61\" y2=\"25\" />\n",
       "  <line x1=\"38\" y1=\"28\" x2=\"63\" y2=\"28\" />\n",
       "  <line x1=\"42\" y1=\"32\" x2=\"68\" y2=\"32\" />\n",
       "  <line x1=\"45\" y1=\"35\" x2=\"70\" y2=\"35\" />\n",
       "  <line x1=\"50\" y1=\"40\" x2=\"75\" y2=\"40\" />\n",
       "  <line x1=\"52\" y1=\"42\" x2=\"77\" y2=\"42\" />\n",
       "  <line x1=\"57\" y1=\"47\" x2=\"82\" y2=\"47\" />\n",
       "  <line x1=\"61\" y1=\"51\" x2=\"87\" y2=\"51\" />\n",
       "  <line x1=\"64\" y1=\"54\" x2=\"89\" y2=\"54\" />\n",
       "  <line x1=\"68\" y1=\"58\" x2=\"94\" y2=\"58\" />\n",
       "  <line x1=\"71\" y1=\"61\" x2=\"96\" y2=\"61\" />\n",
       "  <line x1=\"75\" y1=\"65\" x2=\"101\" y2=\"65\" />\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"10\" y1=\"0\" x2=\"80\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"35\" y1=\"0\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"10.0,0.0 35.41261651458248,0.0 106.00085180870013,70.58823529411765 80.58823529411765,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"106\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"80\" y1=\"97\" x2=\"106\" y2=\"97\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"80\" y1=\"70\" x2=\"80\" y2=\"97\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"106\" y1=\"70\" x2=\"106\" y2=\"97\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"80.58823529411765,70.58823529411765 106.00085180870013,70.58823529411765 106.00085180870013,97.64227125728706 80.58823529411765,97.64227125728706\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"93.294544\" y=\"117.642271\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >10</text>\n",
       "  <text x=\"126.000852\" y=\"84.115253\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,126.000852,84.115253)\">20</text>\n",
       "  <text x=\"35.294118\" y=\"82.348154\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,35.294118,82.348154)\">1440</text>\n",
       "</svg>\n",
       "        </td>\n",
       "    </tr>\n",
       "</table></div></div></li><li class='xr-section-item'><input id='section-e80008a0-cac3-4106-847c-9c6de5b1a318' class='xr-section-summary-in' type='checkbox'  checked><label for='section-e80008a0-cac3-4106-847c-9c6de5b1a318' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>39.05 39.15 39.25 ... 39.85 39.95</div><input id='attrs-5ad3c683-394f-4adc-a5e1-3367f914994a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-5ad3c683-394f-4adc-a5e1-3367f914994a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-cd901d95-6f54-4618-aefc-d294249793e5' class='xr-var-data-in' type='checkbox'><label for='data-cd901d95-6f54-4618-aefc-d294249793e5' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>axis :</span></dt><dd>Y</dd><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([39.05, 39.15, 39.25, 39.35, 39.45, 39.55, 39.65, 39.75, 39.85, 39.95],\n",
       "      dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float32</div><div class='xr-var-preview xr-preview'>-122.9 -122.8 ... -121.2 -121.1</div><input id='attrs-bbd714e6-7fce-4ecb-9aea-7ded797065ef' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-bbd714e6-7fce-4ecb-9aea-7ded797065ef' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e5f8d46c-4f6e-4635-ab68-70c4c6964576' class='xr-var-data-in' type='checkbox'><label for='data-e5f8d46c-4f6e-4635-ab68-70c4c6964576' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>axis :</span></dt><dd>X</dd><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([-122.95, -122.85, -122.75, -122.65, -122.55, -122.45, -122.35, -122.25,\n",
       "       -122.15, -122.05, -121.95, -121.85, -121.75, -121.65, -121.55, -121.45,\n",
       "       -121.35, -121.25, -121.15, -121.05], dtype=float32)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2023-06-01 ... 2023-06-30T23:30:00</div><input id='attrs-93eeab29-6953-4e5b-99ba-23eeada2debb' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-93eeab29-6953-4e5b-99ba-23eeada2debb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-88034373-9359-44ae-84ba-cab9d820885f' class='xr-var-data-in' type='checkbox'><label for='data-88034373-9359-44ae-84ba-cab9d820885f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>axis :</span></dt><dd>T</dd><dt><span>standard_name :</span></dt><dd>time</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2023-06-01T00:00:00.000000000&#x27;, &#x27;2023-06-01T00:30:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T01:00:00.000000000&#x27;, ..., &#x27;2023-06-30T22:30:00.000000000&#x27;,\n",
       "       &#x27;2023-06-30T23:00:00.000000000&#x27;, &#x27;2023-06-30T23:30:00.000000000&#x27;],\n",
       "      dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-94b1e476-5f13-4d37-8c15-0054035f2b46' class='xr-section-summary-in' type='checkbox'  ><label for='section-94b1e476-5f13-4d37-8c15-0054035f2b46' class='xr-section-summary' >Indexes: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>lat</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-9085c513-7aca-48c0-9310-30ac9937a231' class='xr-index-data-in' type='checkbox'/><label for='index-9085c513-7aca-48c0-9310-30ac9937a231' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ 39.04999923706055, 39.150001525878906,              39.25,\n",
       "       39.349998474121094,  39.45000076293945,  39.54999923706055,\n",
       "       39.650001525878906,              39.75, 39.849998474121094,\n",
       "        39.95000076293945],\n",
       "      dtype=&#x27;float32&#x27;, name=&#x27;lat&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>lon</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-ad38045b-1372-4b7a-933f-89ef16d8289b' class='xr-index-data-in' type='checkbox'/><label for='index-ad38045b-1372-4b7a-933f-89ef16d8289b' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([-122.94999694824219,  -122.8499984741211,             -122.75,\n",
       "        -122.6500015258789, -122.55000305175781, -122.44999694824219,\n",
       "        -122.3499984741211,             -122.25,  -122.1500015258789,\n",
       "       -122.05000305175781, -121.94999694824219,  -121.8499984741211,\n",
       "                   -121.75,  -121.6500015258789, -121.55000305175781,\n",
       "       -121.44999694824219,  -121.3499984741211,             -121.25,\n",
       "        -121.1500015258789, -121.05000305175781],\n",
       "      dtype=&#x27;float32&#x27;, name=&#x27;lon&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-afa381ed-bf91-433e-b8d9-afea3fc94204' class='xr-index-data-in' type='checkbox'/><label for='index-afa381ed-bf91-433e-b8d9-afea3fc94204' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2023-06-01 00:00:00&#x27;, &#x27;2023-06-01 00:30:00&#x27;,\n",
       "               &#x27;2023-06-01 01:00:00&#x27;, &#x27;2023-06-01 01:30:00&#x27;,\n",
       "               &#x27;2023-06-01 02:00:00&#x27;, &#x27;2023-06-01 02:30:00&#x27;,\n",
       "               &#x27;2023-06-01 03:00:00&#x27;, &#x27;2023-06-01 03:30:00&#x27;,\n",
       "               &#x27;2023-06-01 04:00:00&#x27;, &#x27;2023-06-01 04:30:00&#x27;,\n",
       "               ...\n",
       "               &#x27;2023-06-30 19:00:00&#x27;, &#x27;2023-06-30 19:30:00&#x27;,\n",
       "               &#x27;2023-06-30 20:00:00&#x27;, &#x27;2023-06-30 20:30:00&#x27;,\n",
       "               &#x27;2023-06-30 21:00:00&#x27;, &#x27;2023-06-30 21:30:00&#x27;,\n",
       "               &#x27;2023-06-30 22:00:00&#x27;, &#x27;2023-06-30 22:30:00&#x27;,\n",
       "               &#x27;2023-06-30 23:00:00&#x27;, &#x27;2023-06-30 23:30:00&#x27;],\n",
       "              dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;time&#x27;, length=1440, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-336ed80e-b3d2-42c7-a4d3-62ff6973e7be' class='xr-section-summary-in' type='checkbox'  checked><label for='section-336ed80e-b3d2-42c7-a4d3-62ff6973e7be' class='xr-section-summary' >Attributes: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>CodeMissingValue :</span></dt><dd>-9999.9</dd><dt><span>DimensionNames :</span></dt><dd>time,lon,lat</dd><dt><span>Units :</span></dt><dd>mm/hr</dd><dt><span>units :</span></dt><dd>mm/hr</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.DataArray 'precipitationCal' (time: 1440, lon: 20, lat: 10)>\n",
       "dask.array<getitem, shape=(1440, 20, 10), dtype=float32, chunksize=(48, 20, 10), chunktype=numpy.ndarray>\n",
       "Coordinates:\n",
       "  * lat      (lat) float32 39.05 39.15 39.25 39.35 ... 39.65 39.75 39.85 39.95\n",
       "  * lon      (lon) float32 -122.9 -122.8 -122.8 -122.7 ... -121.2 -121.2 -121.1\n",
       "  * time     (time) datetime64[ns] 2023-06-01 ... 2023-06-30T23:30:00\n",
       "Attributes:\n",
       "    CodeMissingValue:  -9999.9\n",
       "    DimensionNames:    time,lon,lat\n",
       "    Units:             mm/hr\n",
       "    units:             mm/hr"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bbox=(-123,39,-121,40)\n",
    "g1 = gpm.open_dataset(start_time=start_time, end_time=end_time, dataset='camels', bbox=bbox, time_resolution='30m')\n",
    "g1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "89272645-1269-4bc8-a016-79951bb97457",
   "metadata": {},
   "source": [
    "## 读取gfs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "b1643c7c-71b6-4812-8b53-0c695a743d4d",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "from hydrodata.reader.minio import GFSReader"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "d7570ad3-36e6-4b96-a82a-894ad501cd71",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "gfs = GFSReader()    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "d29e7659-37c1-4d1d-9dec-7a868fa4df1d",
   "metadata": {
    "tags": []
   },
   "outputs": [],
   "source": [
    "gfs.set_default_variable('tp')    # tp为降雨"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d7c2fd12-b98e-475c-a962-559fac4e1b48",
   "metadata": {},
   "source": [
    "- 通过指定四至范围读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "18e44f61-aa28-4875-aefe-e37293307721",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=dark],\n",
       "body[data-theme=dark],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1F1F1F;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
       "Dimensions:     (lat: 5, lon: 9, step: 120, time: 1, valid_time: 120)\n",
       "Coordinates:\n",
       "  * lat         (lat) float64 39.0 39.25 39.5 39.75 40.0\n",
       "  * lon         (lon) float64 121.0 121.2 121.5 121.8 ... 122.5 122.8 123.0\n",
       "  * step        (step) int64 1 2 3 4 5 6 7 8 ... 113 114 115 116 117 118 119 120\n",
       "  * time        (time) datetime64[ns] 2023-06-01\n",
       "  * valid_time  (valid_time) datetime64[ns] 2023-06-01T01:00:00 ... 2023-06-06\n",
       "Data variables:\n",
       "    tp          (valid_time, step, lat, lon) float64 dask.array&lt;chunksize=(24, 1, 5, 9), meta=np.ndarray&gt;\n",
       "Attributes:\n",
       "    centre:             kwbc\n",
       "    centreDescription:  US National Weather Service - NCEP\n",
       "    edition:            2\n",
       "    subCentre:          0</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-81db1ca9-5026-480f-b355-7e05cc574451' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-81db1ca9-5026-480f-b355-7e05cc574451' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>lat</span>: 5</li><li><span class='xr-has-index'>lon</span>: 9</li><li><span class='xr-has-index'>step</span>: 120</li><li><span class='xr-has-index'>time</span>: 1</li><li><span class='xr-has-index'>valid_time</span>: 120</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-d6e09145-3e01-4a22-b68e-20b6ac06a709' class='xr-section-summary-in' type='checkbox'  checked><label for='section-d6e09145-3e01-4a22-b68e-20b6ac06a709' class='xr-section-summary' >Coordinates: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>39.0 39.25 39.5 39.75 40.0</div><input id='attrs-c85e8ae4-6f4f-41f1-82e2-f12fd3f38bfa' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c85e8ae4-6f4f-41f1-82e2-f12fd3f38bfa' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5d8e48ad-946f-4a90-a4c5-cc9656238109' class='xr-var-data-in' type='checkbox'><label for='data-5d8e48ad-946f-4a90-a4c5-cc9656238109' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([39.  , 39.25, 39.5 , 39.75, 40.  ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>121.0 121.2 121.5 ... 122.8 123.0</div><input id='attrs-c1a07276-ab95-47f3-8e0b-af8255b7f756' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c1a07276-ab95-47f3-8e0b-af8255b7f756' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5ca0d0d0-4676-4256-b68b-b704740bc16e' class='xr-var-data-in' type='checkbox'><label for='data-5ca0d0d0-4676-4256-b68b-b704740bc16e' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([121.  , 121.25, 121.5 , 121.75, 122.  , 122.25, 122.5 , 122.75, 123.  ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>step</span></div><div class='xr-var-dims'>(step)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>1 2 3 4 5 6 ... 116 117 118 119 120</div><input id='attrs-51f878da-c512-4060-8e56-a727f570763a' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-51f878da-c512-4060-8e56-a727f570763a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ad408992-8305-45c7-9af7-3d3ac90f9316' class='xr-var-data-in' type='checkbox'><label for='data-ad408992-8305-45c7-9af7-3d3ac90f9316' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([  1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,\n",
       "        15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,\n",
       "        29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,\n",
       "        43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,\n",
       "        57,  58,  59,  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,\n",
       "        71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,\n",
       "        85,  86,  87,  88,  89,  90,  91,  92,  93,  94,  95,  96,  97,  98,\n",
       "        99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n",
       "       113, 114, 115, 116, 117, 118, 119, 120])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2023-06-01</div><input id='attrs-c0466610-fb9a-4345-9739-08557003e1dd' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c0466610-fb9a-4345-9739-08557003e1dd' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-cba4c969-ea1f-4ada-b16d-cdaaa4a96288' class='xr-var-data-in' type='checkbox'><label for='data-cba4c969-ea1f-4ada-b16d-cdaaa4a96288' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>initial time of forecast</dd><dt><span>standard_name :</span></dt><dd>forecast_reference_time</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2023-06-01T00:00:00.000000000&#x27;], dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>valid_time</span></div><div class='xr-var-dims'>(valid_time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2023-06-01T01:00:00 ... 2023-06-06</div><input id='attrs-29d8c053-e9c5-4731-acb0-4e4281337b85' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-29d8c053-e9c5-4731-acb0-4e4281337b85' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d932854d-9ac0-4147-8c7b-49d005183ad4' class='xr-var-data-in' type='checkbox'><label for='data-d932854d-9ac0-4147-8c7b-49d005183ad4' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>_FillValue :</span></dt><dd>1970-01-01T00:00:00.000000000</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2023-06-01T01:00:00.000000000&#x27;, &#x27;2023-06-01T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T03:00:00.000000000&#x27;, &#x27;2023-06-01T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T05:00:00.000000000&#x27;, &#x27;2023-06-01T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T07:00:00.000000000&#x27;, &#x27;2023-06-01T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T09:00:00.000000000&#x27;, &#x27;2023-06-01T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T11:00:00.000000000&#x27;, &#x27;2023-06-01T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T13:00:00.000000000&#x27;, &#x27;2023-06-01T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T15:00:00.000000000&#x27;, &#x27;2023-06-01T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T17:00:00.000000000&#x27;, &#x27;2023-06-01T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T19:00:00.000000000&#x27;, &#x27;2023-06-01T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T21:00:00.000000000&#x27;, &#x27;2023-06-01T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T23:00:00.000000000&#x27;, &#x27;2023-06-02T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T01:00:00.000000000&#x27;, &#x27;2023-06-02T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T03:00:00.000000000&#x27;, &#x27;2023-06-02T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T05:00:00.000000000&#x27;, &#x27;2023-06-02T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T07:00:00.000000000&#x27;, &#x27;2023-06-02T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T09:00:00.000000000&#x27;, &#x27;2023-06-02T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T11:00:00.000000000&#x27;, &#x27;2023-06-02T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T13:00:00.000000000&#x27;, &#x27;2023-06-02T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T15:00:00.000000000&#x27;, &#x27;2023-06-02T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T17:00:00.000000000&#x27;, &#x27;2023-06-02T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T19:00:00.000000000&#x27;, &#x27;2023-06-02T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T21:00:00.000000000&#x27;, &#x27;2023-06-02T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T23:00:00.000000000&#x27;, &#x27;2023-06-03T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T01:00:00.000000000&#x27;, &#x27;2023-06-03T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T03:00:00.000000000&#x27;, &#x27;2023-06-03T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T05:00:00.000000000&#x27;, &#x27;2023-06-03T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T07:00:00.000000000&#x27;, &#x27;2023-06-03T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T09:00:00.000000000&#x27;, &#x27;2023-06-03T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T11:00:00.000000000&#x27;, &#x27;2023-06-03T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T13:00:00.000000000&#x27;, &#x27;2023-06-03T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T15:00:00.000000000&#x27;, &#x27;2023-06-03T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T17:00:00.000000000&#x27;, &#x27;2023-06-03T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T19:00:00.000000000&#x27;, &#x27;2023-06-03T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T21:00:00.000000000&#x27;, &#x27;2023-06-03T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T23:00:00.000000000&#x27;, &#x27;2023-06-04T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T01:00:00.000000000&#x27;, &#x27;2023-06-04T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T03:00:00.000000000&#x27;, &#x27;2023-06-04T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T05:00:00.000000000&#x27;, &#x27;2023-06-04T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T07:00:00.000000000&#x27;, &#x27;2023-06-04T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T09:00:00.000000000&#x27;, &#x27;2023-06-04T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T11:00:00.000000000&#x27;, &#x27;2023-06-04T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T13:00:00.000000000&#x27;, &#x27;2023-06-04T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T15:00:00.000000000&#x27;, &#x27;2023-06-04T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T17:00:00.000000000&#x27;, &#x27;2023-06-04T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T19:00:00.000000000&#x27;, &#x27;2023-06-04T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T21:00:00.000000000&#x27;, &#x27;2023-06-04T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T23:00:00.000000000&#x27;, &#x27;2023-06-05T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T01:00:00.000000000&#x27;, &#x27;2023-06-05T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T03:00:00.000000000&#x27;, &#x27;2023-06-05T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T05:00:00.000000000&#x27;, &#x27;2023-06-05T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T07:00:00.000000000&#x27;, &#x27;2023-06-05T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T09:00:00.000000000&#x27;, &#x27;2023-06-05T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T11:00:00.000000000&#x27;, &#x27;2023-06-05T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T13:00:00.000000000&#x27;, &#x27;2023-06-05T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T15:00:00.000000000&#x27;, &#x27;2023-06-05T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T17:00:00.000000000&#x27;, &#x27;2023-06-05T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T19:00:00.000000000&#x27;, &#x27;2023-06-05T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T21:00:00.000000000&#x27;, &#x27;2023-06-05T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T23:00:00.000000000&#x27;, &#x27;2023-06-06T00:00:00.000000000&#x27;],\n",
       "      dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-d98d8964-d68b-4b19-8a9d-b742f7dc97c5' class='xr-section-summary-in' type='checkbox'  checked><label for='section-d98d8964-d68b-4b19-8a9d-b742f7dc97c5' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>tp</span></div><div class='xr-var-dims'>(valid_time, step, lat, lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(24, 1, 5, 9), meta=np.ndarray&gt;</div><input id='attrs-b48491f5-6d96-40b3-a9e9-3c620a012ffc' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b48491f5-6d96-40b3-a9e9-3c620a012ffc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-a4d5e6c1-551a-4470-a5d9-432682bbfa85' class='xr-var-data-in' type='checkbox'><label for='data-a4d5e6c1-551a-4470-a5d9-432682bbfa85' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>NV :</span></dt><dd>0</dd><dt><span>cfName :</span></dt><dd>unknown</dd><dt><span>cfVarName :</span></dt><dd>unknown</dd><dt><span>dataDate :</span></dt><dd>20230601</dd><dt><span>dataTime :</span></dt><dd>0</dd><dt><span>dataType :</span></dt><dd>fc</dd><dt><span>endStep :</span></dt><dd>1</dd><dt><span>gridDefinitionDescription :</span></dt><dd>Latitude/longitude. Also called equidistant cylindrical, or Plate Carree</dd><dt><span>gridType :</span></dt><dd>regular_ll</dd><dt><span>missingValue :</span></dt><dd>9999</dd><dt><span>name :</span></dt><dd>Total Precipitation</dd><dt><span>numberOfPoints :</span></dt><dd>51865</dd><dt><span>paramId :</span></dt><dd>228228</dd><dt><span>shortName :</span></dt><dd>tp</dd><dt><span>stepType :</span></dt><dd>accum</dd><dt><span>stepUnits :</span></dt><dd>1</dd><dt><span>typeOfLevel :</span></dt><dd>surface</dd><dt><span>units :</span></dt><dd>kg m**-2</dd></dl></div><div class='xr-var-data'><table>\n",
       "    <tr>\n",
       "        <td>\n",
       "            <table style=\"border-collapse: collapse;\">\n",
       "                <thead>\n",
       "                    <tr>\n",
       "                        <td> </td>\n",
       "                        <th> Array </th>\n",
       "                        <th> Chunk </th>\n",
       "                    </tr>\n",
       "                </thead>\n",
       "                <tbody>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Bytes </th>\n",
       "                        <td> 4.94 MiB </td>\n",
       "                        <td> 8.44 kiB </td>\n",
       "                    </tr>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Shape </th>\n",
       "                        <td> (120, 120, 5, 9) </td>\n",
       "                        <td> (24, 1, 5, 9) </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Dask graph </th>\n",
       "                        <td colspan=\"2\"> 600 chunks in 3 graph layers </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Data type </th>\n",
       "                        <td colspan=\"2\"> float64 numpy.ndarray </td>\n",
       "                    </tr>\n",
       "                </tbody>\n",
       "            </table>\n",
       "        </td>\n",
       "        <td>\n",
       "        <svg width=\"537\" height=\"153\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n",
       "  <line x1=\"48\" y1=\"0\" x2=\"48\" y2=\"25\" />\n",
       "  <line x1=\"72\" y1=\"0\" x2=\"72\" y2=\"25\" />\n",
       "  <line x1=\"96\" y1=\"0\" x2=\"96\" y2=\"25\" />\n",
       "  <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >120</text>\n",
       "  <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">1</text>\n",
       "\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"260\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"190\" y1=\"33\" x2=\"260\" y2=\"103\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"190\" y2=\"33\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"191\" y1=\"1\" x2=\"191\" y2=\"35\" />\n",
       "  <line x1=\"194\" y1=\"4\" x2=\"194\" y2=\"37\" />\n",
       "  <line x1=\"196\" y1=\"6\" x2=\"196\" y2=\"39\" />\n",
       "  <line x1=\"198\" y1=\"8\" x2=\"198\" y2=\"42\" />\n",
       "  <line x1=\"200\" y1=\"10\" x2=\"200\" y2=\"43\" />\n",
       "  <line x1=\"202\" y1=\"12\" x2=\"202\" y2=\"46\" />\n",
       "  <line x1=\"205\" y1=\"15\" x2=\"205\" y2=\"48\" />\n",
       "  <line x1=\"207\" y1=\"17\" x2=\"207\" y2=\"51\" />\n",
       "  <line x1=\"209\" y1=\"19\" x2=\"209\" y2=\"52\" />\n",
       "  <line x1=\"211\" y1=\"21\" x2=\"211\" y2=\"55\" />\n",
       "  <line x1=\"214\" y1=\"24\" x2=\"214\" y2=\"57\" />\n",
       "  <line x1=\"216\" y1=\"26\" x2=\"216\" y2=\"59\" />\n",
       "  <line x1=\"218\" y1=\"28\" x2=\"218\" y2=\"61\" />\n",
       "  <line x1=\"220\" y1=\"30\" x2=\"220\" y2=\"63\" />\n",
       "  <line x1=\"222\" y1=\"32\" x2=\"222\" y2=\"66\" />\n",
       "  <line x1=\"225\" y1=\"35\" x2=\"225\" y2=\"68\" />\n",
       "  <line x1=\"227\" y1=\"37\" x2=\"227\" y2=\"70\" />\n",
       "  <line x1=\"229\" y1=\"39\" x2=\"229\" y2=\"72\" />\n",
       "  <line x1=\"231\" y1=\"41\" x2=\"231\" y2=\"75\" />\n",
       "  <line x1=\"234\" y1=\"44\" x2=\"234\" y2=\"77\" />\n",
       "  <line x1=\"235\" y1=\"45\" x2=\"235\" y2=\"79\" />\n",
       "  <line x1=\"238\" y1=\"48\" x2=\"238\" y2=\"81\" />\n",
       "  <line x1=\"240\" y1=\"50\" x2=\"240\" y2=\"83\" />\n",
       "  <line x1=\"242\" y1=\"52\" x2=\"242\" y2=\"86\" />\n",
       "  <line x1=\"244\" y1=\"54\" x2=\"244\" y2=\"88\" />\n",
       "  <line x1=\"247\" y1=\"57\" x2=\"247\" y2=\"90\" />\n",
       "  <line x1=\"249\" y1=\"59\" x2=\"249\" y2=\"92\" />\n",
       "  <line x1=\"251\" y1=\"61\" x2=\"251\" y2=\"95\" />\n",
       "  <line x1=\"253\" y1=\"63\" x2=\"253\" y2=\"96\" />\n",
       "  <line x1=\"255\" y1=\"65\" x2=\"255\" y2=\"99\" />\n",
       "  <line x1=\"258\" y1=\"68\" x2=\"258\" y2=\"101\" />\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"260\" y2=\"103\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"190.0,0.0 260.5882352941177,70.58823529411765 260.5882352941177,103.97193373564438 190.0,33.38369844152673\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"226\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"191\" y1=\"1\" x2=\"228\" y2=\"1\" />\n",
       "  <line x1=\"194\" y1=\"4\" x2=\"231\" y2=\"4\" />\n",
       "  <line x1=\"196\" y1=\"6\" x2=\"233\" y2=\"6\" />\n",
       "  <line x1=\"198\" y1=\"8\" x2=\"235\" y2=\"8\" />\n",
       "  <line x1=\"200\" y1=\"10\" x2=\"237\" y2=\"10\" />\n",
       "  <line x1=\"202\" y1=\"12\" x2=\"239\" y2=\"12\" />\n",
       "  <line x1=\"205\" y1=\"15\" x2=\"242\" y2=\"15\" />\n",
       "  <line x1=\"207\" y1=\"17\" x2=\"244\" y2=\"17\" />\n",
       "  <line x1=\"209\" y1=\"19\" x2=\"246\" y2=\"19\" />\n",
       "  <line x1=\"211\" y1=\"21\" x2=\"248\" y2=\"21\" />\n",
       "  <line x1=\"214\" y1=\"24\" x2=\"251\" y2=\"24\" />\n",
       "  <line x1=\"216\" y1=\"26\" x2=\"253\" y2=\"26\" />\n",
       "  <line x1=\"218\" y1=\"28\" x2=\"255\" y2=\"28\" />\n",
       "  <line x1=\"220\" y1=\"30\" x2=\"257\" y2=\"30\" />\n",
       "  <line x1=\"222\" y1=\"32\" x2=\"259\" y2=\"32\" />\n",
       "  <line x1=\"225\" y1=\"35\" x2=\"262\" y2=\"35\" />\n",
       "  <line x1=\"227\" y1=\"37\" x2=\"264\" y2=\"37\" />\n",
       "  <line x1=\"229\" y1=\"39\" x2=\"266\" y2=\"39\" />\n",
       "  <line x1=\"231\" y1=\"41\" x2=\"268\" y2=\"41\" />\n",
       "  <line x1=\"234\" y1=\"44\" x2=\"271\" y2=\"44\" />\n",
       "  <line x1=\"235\" y1=\"45\" x2=\"272\" y2=\"45\" />\n",
       "  <line x1=\"238\" y1=\"48\" x2=\"275\" y2=\"48\" />\n",
       "  <line x1=\"240\" y1=\"50\" x2=\"277\" y2=\"50\" />\n",
       "  <line x1=\"242\" y1=\"52\" x2=\"279\" y2=\"52\" />\n",
       "  <line x1=\"244\" y1=\"54\" x2=\"281\" y2=\"54\" />\n",
       "  <line x1=\"247\" y1=\"57\" x2=\"284\" y2=\"57\" />\n",
       "  <line x1=\"249\" y1=\"59\" x2=\"286\" y2=\"59\" />\n",
       "  <line x1=\"251\" y1=\"61\" x2=\"288\" y2=\"61\" />\n",
       "  <line x1=\"253\" y1=\"63\" x2=\"290\" y2=\"63\" />\n",
       "  <line x1=\"255\" y1=\"65\" x2=\"292\" y2=\"65\" />\n",
       "  <line x1=\"258\" y1=\"68\" x2=\"295\" y2=\"68\" />\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"297\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"260\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"226\" y1=\"0\" x2=\"297\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"190.0,0.0 226.9482339141386,0.0 297.5364692082562,70.58823529411765 260.5882352941177,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"297\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"260\" y1=\"103\" x2=\"297\" y2=\"103\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"260\" y2=\"103\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"297\" y1=\"70\" x2=\"297\" y2=\"103\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"260.5882352941177,70.58823529411765 297.5364692082563,70.58823529411765 297.5364692082563,103.97193373564438 260.5882352941177,103.97193373564438\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"279.062352\" y=\"123.971934\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >9</text>\n",
       "  <text x=\"317.536469\" y=\"87.280085\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,317.536469,87.280085)\">5</text>\n",
       "  <text x=\"215.294118\" y=\"88.677816\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,215.294118,88.677816)\">120</text>\n",
       "</svg>\n",
       "        </td>\n",
       "    </tr>\n",
       "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-bd342f41-cce1-436c-ae40-57bc37c9b603' class='xr-section-summary-in' type='checkbox'  ><label for='section-bd342f41-cce1-436c-ae40-57bc37c9b603' class='xr-section-summary' >Indexes: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>lat</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-34098327-d6b8-4e84-abc8-af369cdbaf28' class='xr-index-data-in' type='checkbox'/><label for='index-34098327-d6b8-4e84-abc8-af369cdbaf28' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([39.0, 39.25, 39.5, 39.75, 40.0], dtype=&#x27;float64&#x27;, name=&#x27;lat&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>lon</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-0a9094df-9b06-4503-8b13-1e7781f862b9' class='xr-index-data-in' type='checkbox'/><label for='index-0a9094df-9b06-4503-8b13-1e7781f862b9' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([121.0, 121.25, 121.5, 121.75, 122.0, 122.25, 122.5, 122.75, 123.0], dtype=&#x27;float64&#x27;, name=&#x27;lon&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>step</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-1caba588-8241-4a59-af74-0d1d96eb4326' class='xr-index-data-in' type='checkbox'/><label for='index-1caba588-8241-4a59-af74-0d1d96eb4326' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([  1,   2,   3,   4,   5,   6,   7,   8,   9,  10,\n",
       "       ...\n",
       "       111, 112, 113, 114, 115, 116, 117, 118, 119, 120],\n",
       "      dtype=&#x27;int64&#x27;, name=&#x27;step&#x27;, length=120))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-cc249d20-7947-4139-9bc5-19910be2631e' class='xr-index-data-in' type='checkbox'/><label for='index-cc249d20-7947-4139-9bc5-19910be2631e' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2023-06-01&#x27;], dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;time&#x27;, freq=None))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>valid_time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-23dbd7f1-fc79-4ce1-b20c-11a0bc0f7d70' class='xr-index-data-in' type='checkbox'/><label for='index-23dbd7f1-fc79-4ce1-b20c-11a0bc0f7d70' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2023-06-01 01:00:00&#x27;, &#x27;2023-06-01 02:00:00&#x27;,\n",
       "               &#x27;2023-06-01 03:00:00&#x27;, &#x27;2023-06-01 04:00:00&#x27;,\n",
       "               &#x27;2023-06-01 05:00:00&#x27;, &#x27;2023-06-01 06:00:00&#x27;,\n",
       "               &#x27;2023-06-01 07:00:00&#x27;, &#x27;2023-06-01 08:00:00&#x27;,\n",
       "               &#x27;2023-06-01 09:00:00&#x27;, &#x27;2023-06-01 10:00:00&#x27;,\n",
       "               ...\n",
       "               &#x27;2023-06-05 15:00:00&#x27;, &#x27;2023-06-05 16:00:00&#x27;,\n",
       "               &#x27;2023-06-05 17:00:00&#x27;, &#x27;2023-06-05 18:00:00&#x27;,\n",
       "               &#x27;2023-06-05 19:00:00&#x27;, &#x27;2023-06-05 20:00:00&#x27;,\n",
       "               &#x27;2023-06-05 21:00:00&#x27;, &#x27;2023-06-05 22:00:00&#x27;,\n",
       "               &#x27;2023-06-05 23:00:00&#x27;, &#x27;2023-06-06 00:00:00&#x27;],\n",
       "              dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;valid_time&#x27;, length=120, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-0730f84f-de79-4e89-a80f-c5660c13c939' class='xr-section-summary-in' type='checkbox'  checked><label for='section-0730f84f-de79-4e89-a80f-c5660c13c939' class='xr-section-summary' >Attributes: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>centre :</span></dt><dd>kwbc</dd><dt><span>centreDescription :</span></dt><dd>US National Weather Service - NCEP</dd><dt><span>edition :</span></dt><dd>2</dd><dt><span>subCentre :</span></dt><dd>0</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.Dataset>\n",
       "Dimensions:     (lat: 5, lon: 9, step: 120, time: 1, valid_time: 120)\n",
       "Coordinates:\n",
       "  * lat         (lat) float64 39.0 39.25 39.5 39.75 40.0\n",
       "  * lon         (lon) float64 121.0 121.2 121.5 121.8 ... 122.5 122.8 123.0\n",
       "  * step        (step) int64 1 2 3 4 5 6 7 8 ... 113 114 115 116 117 118 119 120\n",
       "  * time        (time) datetime64[ns] 2023-06-01\n",
       "  * valid_time  (valid_time) datetime64[ns] 2023-06-01T01:00:00 ... 2023-06-06\n",
       "Data variables:\n",
       "    tp          (valid_time, step, lat, lon) float64 dask.array<chunksize=(24, 1, 5, 9), meta=np.ndarray>\n",
       "Attributes:\n",
       "    centre:             kwbc\n",
       "    centreDescription:  US National Weather Service - NCEP\n",
       "    edition:            2\n",
       "    subCentre:          0"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "bbox=(121,39,123,40)\n",
    "creation_date=np.datetime64(\"2023-06-01\")\n",
    "f1 = gfs.open_dataset(creation_date=creation_date, creation_time='00', dataset='wis', bbox=bbox)\n",
    "f1"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1a447c15-9fd4-4559-9e89-f2d09b726bb3",
   "metadata": {},
   "source": [
    "- 通过矢量数据文件读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "c744ea8e-8b1b-478a-a87b-082ce8273a90",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=dark],\n",
       "body[data-theme=dark],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1F1F1F;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
       "Dimensions:     (lat: 3, lon: 3, step: 120, time: 1, valid_time: 120)\n",
       "Coordinates:\n",
       "  * lat         (lat) float64 39.75 40.0 40.25\n",
       "  * lon         (lon) float64 122.2 122.5 122.8\n",
       "  * step        (step) int64 1 2 3 4 5 6 7 8 ... 113 114 115 116 117 118 119 120\n",
       "  * time        (time) datetime64[ns] 2023-06-01\n",
       "  * valid_time  (valid_time) datetime64[ns] 2023-06-01T01:00:00 ... 2023-06-06\n",
       "Data variables:\n",
       "    tp          (valid_time, step, lat, lon) float64 dask.array&lt;chunksize=(24, 1, 3, 3), meta=np.ndarray&gt;\n",
       "Attributes:\n",
       "    centre:             kwbc\n",
       "    centreDescription:  US National Weather Service - NCEP\n",
       "    edition:            2\n",
       "    subCentre:          0</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-193fd404-dd7c-4d22-b4ce-e8a2e8c50155' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-193fd404-dd7c-4d22-b4ce-e8a2e8c50155' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>lat</span>: 3</li><li><span class='xr-has-index'>lon</span>: 3</li><li><span class='xr-has-index'>step</span>: 120</li><li><span class='xr-has-index'>time</span>: 1</li><li><span class='xr-has-index'>valid_time</span>: 120</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-4f179618-d5e3-4357-8c8d-26d4dba06e22' class='xr-section-summary-in' type='checkbox'  checked><label for='section-4f179618-d5e3-4357-8c8d-26d4dba06e22' class='xr-section-summary' >Coordinates: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>39.75 40.0 40.25</div><input id='attrs-df7fbd2f-064a-40ae-9624-1a7b1c34cfb6' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-df7fbd2f-064a-40ae-9624-1a7b1c34cfb6' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2c4a64fa-ac01-493d-a6d8-3f92b4feb868' class='xr-var-data-in' type='checkbox'><label for='data-2c4a64fa-ac01-493d-a6d8-3f92b4feb868' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([39.75, 40.  , 40.25])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>122.2 122.5 122.8</div><input id='attrs-fe8543a8-07dd-49fb-84e1-ecc1e9e83c91' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-fe8543a8-07dd-49fb-84e1-ecc1e9e83c91' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2cb1874d-cf2b-408e-844c-d31f1b5d03e5' class='xr-var-data-in' type='checkbox'><label for='data-2cb1874d-cf2b-408e-844c-d31f1b5d03e5' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([122.25, 122.5 , 122.75])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>step</span></div><div class='xr-var-dims'>(step)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>1 2 3 4 5 6 ... 116 117 118 119 120</div><input id='attrs-3ee54e9f-e116-4c8b-9503-fb202bd17e12' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-3ee54e9f-e116-4c8b-9503-fb202bd17e12' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e7c8c812-0782-427f-8941-68cdbb15a849' class='xr-var-data-in' type='checkbox'><label for='data-e7c8c812-0782-427f-8941-68cdbb15a849' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([  1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,\n",
       "        15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,\n",
       "        29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,\n",
       "        43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,\n",
       "        57,  58,  59,  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,\n",
       "        71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,\n",
       "        85,  86,  87,  88,  89,  90,  91,  92,  93,  94,  95,  96,  97,  98,\n",
       "        99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n",
       "       113, 114, 115, 116, 117, 118, 119, 120])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2023-06-01</div><input id='attrs-8ea1d4cb-a811-41e9-94f0-5b2bae54f9f2' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-8ea1d4cb-a811-41e9-94f0-5b2bae54f9f2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-6d948744-1339-438d-ba1c-100cfb1a778a' class='xr-var-data-in' type='checkbox'><label for='data-6d948744-1339-438d-ba1c-100cfb1a778a' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>initial time of forecast</dd><dt><span>standard_name :</span></dt><dd>forecast_reference_time</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2023-06-01T00:00:00.000000000&#x27;], dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>valid_time</span></div><div class='xr-var-dims'>(valid_time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2023-06-01T01:00:00 ... 2023-06-06</div><input id='attrs-c8121cb2-8666-4522-995d-cec1e923f014' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c8121cb2-8666-4522-995d-cec1e923f014' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-892ff6c6-7dc8-4f9a-8f03-0a141a5d00b1' class='xr-var-data-in' type='checkbox'><label for='data-892ff6c6-7dc8-4f9a-8f03-0a141a5d00b1' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>_FillValue :</span></dt><dd>1970-01-01T00:00:00.000000000</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2023-06-01T01:00:00.000000000&#x27;, &#x27;2023-06-01T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T03:00:00.000000000&#x27;, &#x27;2023-06-01T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T05:00:00.000000000&#x27;, &#x27;2023-06-01T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T07:00:00.000000000&#x27;, &#x27;2023-06-01T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T09:00:00.000000000&#x27;, &#x27;2023-06-01T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T11:00:00.000000000&#x27;, &#x27;2023-06-01T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T13:00:00.000000000&#x27;, &#x27;2023-06-01T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T15:00:00.000000000&#x27;, &#x27;2023-06-01T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T17:00:00.000000000&#x27;, &#x27;2023-06-01T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T19:00:00.000000000&#x27;, &#x27;2023-06-01T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T21:00:00.000000000&#x27;, &#x27;2023-06-01T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T23:00:00.000000000&#x27;, &#x27;2023-06-02T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T01:00:00.000000000&#x27;, &#x27;2023-06-02T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T03:00:00.000000000&#x27;, &#x27;2023-06-02T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T05:00:00.000000000&#x27;, &#x27;2023-06-02T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T07:00:00.000000000&#x27;, &#x27;2023-06-02T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T09:00:00.000000000&#x27;, &#x27;2023-06-02T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T11:00:00.000000000&#x27;, &#x27;2023-06-02T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T13:00:00.000000000&#x27;, &#x27;2023-06-02T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T15:00:00.000000000&#x27;, &#x27;2023-06-02T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T17:00:00.000000000&#x27;, &#x27;2023-06-02T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T19:00:00.000000000&#x27;, &#x27;2023-06-02T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T21:00:00.000000000&#x27;, &#x27;2023-06-02T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T23:00:00.000000000&#x27;, &#x27;2023-06-03T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T01:00:00.000000000&#x27;, &#x27;2023-06-03T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T03:00:00.000000000&#x27;, &#x27;2023-06-03T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T05:00:00.000000000&#x27;, &#x27;2023-06-03T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T07:00:00.000000000&#x27;, &#x27;2023-06-03T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T09:00:00.000000000&#x27;, &#x27;2023-06-03T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T11:00:00.000000000&#x27;, &#x27;2023-06-03T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T13:00:00.000000000&#x27;, &#x27;2023-06-03T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T15:00:00.000000000&#x27;, &#x27;2023-06-03T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T17:00:00.000000000&#x27;, &#x27;2023-06-03T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T19:00:00.000000000&#x27;, &#x27;2023-06-03T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T21:00:00.000000000&#x27;, &#x27;2023-06-03T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T23:00:00.000000000&#x27;, &#x27;2023-06-04T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T01:00:00.000000000&#x27;, &#x27;2023-06-04T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T03:00:00.000000000&#x27;, &#x27;2023-06-04T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T05:00:00.000000000&#x27;, &#x27;2023-06-04T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T07:00:00.000000000&#x27;, &#x27;2023-06-04T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T09:00:00.000000000&#x27;, &#x27;2023-06-04T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T11:00:00.000000000&#x27;, &#x27;2023-06-04T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T13:00:00.000000000&#x27;, &#x27;2023-06-04T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T15:00:00.000000000&#x27;, &#x27;2023-06-04T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T17:00:00.000000000&#x27;, &#x27;2023-06-04T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T19:00:00.000000000&#x27;, &#x27;2023-06-04T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T21:00:00.000000000&#x27;, &#x27;2023-06-04T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T23:00:00.000000000&#x27;, &#x27;2023-06-05T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T01:00:00.000000000&#x27;, &#x27;2023-06-05T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T03:00:00.000000000&#x27;, &#x27;2023-06-05T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T05:00:00.000000000&#x27;, &#x27;2023-06-05T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T07:00:00.000000000&#x27;, &#x27;2023-06-05T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T09:00:00.000000000&#x27;, &#x27;2023-06-05T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T11:00:00.000000000&#x27;, &#x27;2023-06-05T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T13:00:00.000000000&#x27;, &#x27;2023-06-05T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T15:00:00.000000000&#x27;, &#x27;2023-06-05T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T17:00:00.000000000&#x27;, &#x27;2023-06-05T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T19:00:00.000000000&#x27;, &#x27;2023-06-05T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T21:00:00.000000000&#x27;, &#x27;2023-06-05T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T23:00:00.000000000&#x27;, &#x27;2023-06-06T00:00:00.000000000&#x27;],\n",
       "      dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-1f0d75f7-d4bb-43f5-addb-7f10066515f3' class='xr-section-summary-in' type='checkbox'  checked><label for='section-1f0d75f7-d4bb-43f5-addb-7f10066515f3' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>tp</span></div><div class='xr-var-dims'>(valid_time, step, lat, lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(24, 1, 3, 3), meta=np.ndarray&gt;</div><input id='attrs-0aaaca24-2b33-4359-bdc3-d8cda938b07d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0aaaca24-2b33-4359-bdc3-d8cda938b07d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fb4335c0-f467-444e-b213-d7ce2a3832af' class='xr-var-data-in' type='checkbox'><label for='data-fb4335c0-f467-444e-b213-d7ce2a3832af' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>NV :</span></dt><dd>0</dd><dt><span>cfName :</span></dt><dd>unknown</dd><dt><span>cfVarName :</span></dt><dd>unknown</dd><dt><span>dataDate :</span></dt><dd>20230601</dd><dt><span>dataTime :</span></dt><dd>0</dd><dt><span>dataType :</span></dt><dd>fc</dd><dt><span>endStep :</span></dt><dd>1</dd><dt><span>gridDefinitionDescription :</span></dt><dd>Latitude/longitude. Also called equidistant cylindrical, or Plate Carree</dd><dt><span>gridType :</span></dt><dd>regular_ll</dd><dt><span>missingValue :</span></dt><dd>9999</dd><dt><span>name :</span></dt><dd>Total Precipitation</dd><dt><span>numberOfPoints :</span></dt><dd>51865</dd><dt><span>paramId :</span></dt><dd>228228</dd><dt><span>shortName :</span></dt><dd>tp</dd><dt><span>stepType :</span></dt><dd>accum</dd><dt><span>stepUnits :</span></dt><dd>1</dd><dt><span>typeOfLevel :</span></dt><dd>surface</dd><dt><span>units :</span></dt><dd>kg m**-2</dd></dl></div><div class='xr-var-data'><table>\n",
       "    <tr>\n",
       "        <td>\n",
       "            <table style=\"border-collapse: collapse;\">\n",
       "                <thead>\n",
       "                    <tr>\n",
       "                        <td> </td>\n",
       "                        <th> Array </th>\n",
       "                        <th> Chunk </th>\n",
       "                    </tr>\n",
       "                </thead>\n",
       "                <tbody>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Bytes </th>\n",
       "                        <td> 0.99 MiB </td>\n",
       "                        <td> 1.69 kiB </td>\n",
       "                    </tr>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Shape </th>\n",
       "                        <td> (120, 120, 3, 3) </td>\n",
       "                        <td> (24, 1, 3, 3) </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Dask graph </th>\n",
       "                        <td colspan=\"2\"> 600 chunks in 3 graph layers </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Data type </th>\n",
       "                        <td colspan=\"2\"> float64 numpy.ndarray </td>\n",
       "                    </tr>\n",
       "                </tbody>\n",
       "            </table>\n",
       "        </td>\n",
       "        <td>\n",
       "        <svg width=\"530\" height=\"150\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n",
       "  <line x1=\"48\" y1=\"0\" x2=\"48\" y2=\"25\" />\n",
       "  <line x1=\"72\" y1=\"0\" x2=\"72\" y2=\"25\" />\n",
       "  <line x1=\"96\" y1=\"0\" x2=\"96\" y2=\"25\" />\n",
       "  <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >120</text>\n",
       "  <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">1</text>\n",
       "\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"260\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"190\" y1=\"30\" x2=\"260\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"190\" y2=\"30\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"191\" y1=\"1\" x2=\"191\" y2=\"32\" />\n",
       "  <line x1=\"194\" y1=\"4\" x2=\"194\" y2=\"34\" />\n",
       "  <line x1=\"196\" y1=\"6\" x2=\"196\" y2=\"36\" />\n",
       "  <line x1=\"198\" y1=\"8\" x2=\"198\" y2=\"39\" />\n",
       "  <line x1=\"200\" y1=\"10\" x2=\"200\" y2=\"40\" />\n",
       "  <line x1=\"202\" y1=\"12\" x2=\"202\" y2=\"43\" />\n",
       "  <line x1=\"205\" y1=\"15\" x2=\"205\" y2=\"45\" />\n",
       "  <line x1=\"207\" y1=\"17\" x2=\"207\" y2=\"47\" />\n",
       "  <line x1=\"209\" y1=\"19\" x2=\"209\" y2=\"49\" />\n",
       "  <line x1=\"211\" y1=\"21\" x2=\"211\" y2=\"52\" />\n",
       "  <line x1=\"214\" y1=\"24\" x2=\"214\" y2=\"54\" />\n",
       "  <line x1=\"216\" y1=\"26\" x2=\"216\" y2=\"56\" />\n",
       "  <line x1=\"218\" y1=\"28\" x2=\"218\" y2=\"58\" />\n",
       "  <line x1=\"220\" y1=\"30\" x2=\"220\" y2=\"60\" />\n",
       "  <line x1=\"222\" y1=\"32\" x2=\"222\" y2=\"63\" />\n",
       "  <line x1=\"225\" y1=\"35\" x2=\"225\" y2=\"65\" />\n",
       "  <line x1=\"227\" y1=\"37\" x2=\"227\" y2=\"67\" />\n",
       "  <line x1=\"229\" y1=\"39\" x2=\"229\" y2=\"69\" />\n",
       "  <line x1=\"231\" y1=\"41\" x2=\"231\" y2=\"72\" />\n",
       "  <line x1=\"234\" y1=\"44\" x2=\"234\" y2=\"74\" />\n",
       "  <line x1=\"235\" y1=\"45\" x2=\"235\" y2=\"76\" />\n",
       "  <line x1=\"238\" y1=\"48\" x2=\"238\" y2=\"78\" />\n",
       "  <line x1=\"240\" y1=\"50\" x2=\"240\" y2=\"80\" />\n",
       "  <line x1=\"242\" y1=\"52\" x2=\"242\" y2=\"83\" />\n",
       "  <line x1=\"244\" y1=\"54\" x2=\"244\" y2=\"85\" />\n",
       "  <line x1=\"247\" y1=\"57\" x2=\"247\" y2=\"87\" />\n",
       "  <line x1=\"249\" y1=\"59\" x2=\"249\" y2=\"89\" />\n",
       "  <line x1=\"251\" y1=\"61\" x2=\"251\" y2=\"92\" />\n",
       "  <line x1=\"253\" y1=\"63\" x2=\"253\" y2=\"93\" />\n",
       "  <line x1=\"255\" y1=\"65\" x2=\"255\" y2=\"96\" />\n",
       "  <line x1=\"258\" y1=\"68\" x2=\"258\" y2=\"98\" />\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"260\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"190.0,0.0 260.5882352941177,70.58823529411765 260.5882352941177,100.89963497778054 190.0,30.31139968366288\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"220\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"191\" y1=\"1\" x2=\"222\" y2=\"1\" />\n",
       "  <line x1=\"194\" y1=\"4\" x2=\"224\" y2=\"4\" />\n",
       "  <line x1=\"196\" y1=\"6\" x2=\"226\" y2=\"6\" />\n",
       "  <line x1=\"198\" y1=\"8\" x2=\"229\" y2=\"8\" />\n",
       "  <line x1=\"200\" y1=\"10\" x2=\"230\" y2=\"10\" />\n",
       "  <line x1=\"202\" y1=\"12\" x2=\"233\" y2=\"12\" />\n",
       "  <line x1=\"205\" y1=\"15\" x2=\"235\" y2=\"15\" />\n",
       "  <line x1=\"207\" y1=\"17\" x2=\"237\" y2=\"17\" />\n",
       "  <line x1=\"209\" y1=\"19\" x2=\"239\" y2=\"19\" />\n",
       "  <line x1=\"211\" y1=\"21\" x2=\"242\" y2=\"21\" />\n",
       "  <line x1=\"214\" y1=\"24\" x2=\"244\" y2=\"24\" />\n",
       "  <line x1=\"216\" y1=\"26\" x2=\"246\" y2=\"26\" />\n",
       "  <line x1=\"218\" y1=\"28\" x2=\"248\" y2=\"28\" />\n",
       "  <line x1=\"220\" y1=\"30\" x2=\"250\" y2=\"30\" />\n",
       "  <line x1=\"222\" y1=\"32\" x2=\"253\" y2=\"32\" />\n",
       "  <line x1=\"225\" y1=\"35\" x2=\"255\" y2=\"35\" />\n",
       "  <line x1=\"227\" y1=\"37\" x2=\"257\" y2=\"37\" />\n",
       "  <line x1=\"229\" y1=\"39\" x2=\"259\" y2=\"39\" />\n",
       "  <line x1=\"231\" y1=\"41\" x2=\"262\" y2=\"41\" />\n",
       "  <line x1=\"234\" y1=\"44\" x2=\"264\" y2=\"44\" />\n",
       "  <line x1=\"235\" y1=\"45\" x2=\"266\" y2=\"45\" />\n",
       "  <line x1=\"238\" y1=\"48\" x2=\"268\" y2=\"48\" />\n",
       "  <line x1=\"240\" y1=\"50\" x2=\"270\" y2=\"50\" />\n",
       "  <line x1=\"242\" y1=\"52\" x2=\"273\" y2=\"52\" />\n",
       "  <line x1=\"244\" y1=\"54\" x2=\"275\" y2=\"54\" />\n",
       "  <line x1=\"247\" y1=\"57\" x2=\"277\" y2=\"57\" />\n",
       "  <line x1=\"249\" y1=\"59\" x2=\"279\" y2=\"59\" />\n",
       "  <line x1=\"251\" y1=\"61\" x2=\"282\" y2=\"61\" />\n",
       "  <line x1=\"253\" y1=\"63\" x2=\"283\" y2=\"63\" />\n",
       "  <line x1=\"255\" y1=\"65\" x2=\"286\" y2=\"65\" />\n",
       "  <line x1=\"258\" y1=\"68\" x2=\"288\" y2=\"68\" />\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"290\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"260\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"220\" y1=\"0\" x2=\"290\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"190.0,0.0 220.31139968366287,0.0 290.8996349777805,70.58823529411765 260.5882352941177,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"290\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"260\" y1=\"100\" x2=\"290\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"260\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"290\" y1=\"70\" x2=\"290\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"260.5882352941177,70.58823529411765 290.8996349777806,70.58823529411765 290.8996349777806,100.89963497778054 260.5882352941177,100.89963497778054\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"275.743935\" y=\"120.899635\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >3</text>\n",
       "  <text x=\"310.899635\" y=\"85.743935\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,310.899635,85.743935)\">3</text>\n",
       "  <text x=\"215.294118\" y=\"85.605517\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,215.294118,85.605517)\">120</text>\n",
       "</svg>\n",
       "        </td>\n",
       "    </tr>\n",
       "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-957940ee-1f47-4220-9955-ba57edf92684' class='xr-section-summary-in' type='checkbox'  ><label for='section-957940ee-1f47-4220-9955-ba57edf92684' class='xr-section-summary' >Indexes: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>lat</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-37a3c2c0-d178-4d67-b8f2-b7b86749a56c' class='xr-index-data-in' type='checkbox'/><label for='index-37a3c2c0-d178-4d67-b8f2-b7b86749a56c' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([39.75, 40.0, 40.25], dtype=&#x27;float64&#x27;, name=&#x27;lat&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>lon</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-4f0be977-c4d7-4c8c-8483-06830e771187' class='xr-index-data-in' type='checkbox'/><label for='index-4f0be977-c4d7-4c8c-8483-06830e771187' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([122.25, 122.5, 122.75], dtype=&#x27;float64&#x27;, name=&#x27;lon&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>step</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-4e32002a-6202-4158-afa8-a6ffab7dcede' class='xr-index-data-in' type='checkbox'/><label for='index-4e32002a-6202-4158-afa8-a6ffab7dcede' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([  1,   2,   3,   4,   5,   6,   7,   8,   9,  10,\n",
       "       ...\n",
       "       111, 112, 113, 114, 115, 116, 117, 118, 119, 120],\n",
       "      dtype=&#x27;int64&#x27;, name=&#x27;step&#x27;, length=120))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-abc4c8c8-430f-4787-bee7-c002c223eb63' class='xr-index-data-in' type='checkbox'/><label for='index-abc4c8c8-430f-4787-bee7-c002c223eb63' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2023-06-01&#x27;], dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;time&#x27;, freq=None))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>valid_time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-5c595ae9-4798-40fe-8d7c-a6d7705df246' class='xr-index-data-in' type='checkbox'/><label for='index-5c595ae9-4798-40fe-8d7c-a6d7705df246' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2023-06-01 01:00:00&#x27;, &#x27;2023-06-01 02:00:00&#x27;,\n",
       "               &#x27;2023-06-01 03:00:00&#x27;, &#x27;2023-06-01 04:00:00&#x27;,\n",
       "               &#x27;2023-06-01 05:00:00&#x27;, &#x27;2023-06-01 06:00:00&#x27;,\n",
       "               &#x27;2023-06-01 07:00:00&#x27;, &#x27;2023-06-01 08:00:00&#x27;,\n",
       "               &#x27;2023-06-01 09:00:00&#x27;, &#x27;2023-06-01 10:00:00&#x27;,\n",
       "               ...\n",
       "               &#x27;2023-06-05 15:00:00&#x27;, &#x27;2023-06-05 16:00:00&#x27;,\n",
       "               &#x27;2023-06-05 17:00:00&#x27;, &#x27;2023-06-05 18:00:00&#x27;,\n",
       "               &#x27;2023-06-05 19:00:00&#x27;, &#x27;2023-06-05 20:00:00&#x27;,\n",
       "               &#x27;2023-06-05 21:00:00&#x27;, &#x27;2023-06-05 22:00:00&#x27;,\n",
       "               &#x27;2023-06-05 23:00:00&#x27;, &#x27;2023-06-06 00:00:00&#x27;],\n",
       "              dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;valid_time&#x27;, length=120, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-31f4f7c4-387a-48b7-9000-58139e582257' class='xr-section-summary-in' type='checkbox'  checked><label for='section-31f4f7c4-387a-48b7-9000-58139e582257' class='xr-section-summary' >Attributes: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>centre :</span></dt><dd>kwbc</dd><dt><span>centreDescription :</span></dt><dd>US National Weather Service - NCEP</dd><dt><span>edition :</span></dt><dd>2</dd><dt><span>subCentre :</span></dt><dd>0</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.Dataset>\n",
       "Dimensions:     (lat: 3, lon: 3, step: 120, time: 1, valid_time: 120)\n",
       "Coordinates:\n",
       "  * lat         (lat) float64 39.75 40.0 40.25\n",
       "  * lon         (lon) float64 122.2 122.5 122.8\n",
       "  * step        (step) int64 1 2 3 4 5 6 7 8 ... 113 114 115 116 117 118 119 120\n",
       "  * time        (time) datetime64[ns] 2023-06-01\n",
       "  * valid_time  (valid_time) datetime64[ns] 2023-06-01T01:00:00 ... 2023-06-06\n",
       "Data variables:\n",
       "    tp          (valid_time, step, lat, lon) float64 dask.array<chunksize=(24, 1, 3, 3), meta=np.ndarray>\n",
       "Attributes:\n",
       "    centre:             kwbc\n",
       "    centreDescription:  US National Weather Service - NCEP\n",
       "    edition:            2\n",
       "    subCentre:          0"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "shp = 'basin.geojson'\n",
    "f2 = gfs.from_shp(creation_date=creation_date, creation_time='00', dataset='wis', shp=shp)\n",
    "f2"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "474ae930-0ee9-44fd-8a93-0dc8172cc0ad",
   "metadata": {},
   "source": [
    "- 通过已有aoi对象读取"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "23540a7a-c85f-4eab-9bee-8d0cb811499c",
   "metadata": {
    "tags": []
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=dark],\n",
       "body[data-theme=dark],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1F1F1F;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 20px 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: '►';\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: '▼';\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: '(';\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: ')';\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: ',';\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.Dataset&gt;\n",
       "Dimensions:     (lat: 3, lon: 3, step: 120, time: 1, valid_time: 120)\n",
       "Coordinates:\n",
       "  * lat         (lat) float64 39.75 40.0 40.25\n",
       "  * lon         (lon) float64 122.2 122.5 122.8\n",
       "  * step        (step) int64 1 2 3 4 5 6 7 8 ... 113 114 115 116 117 118 119 120\n",
       "  * time        (time) datetime64[ns] 2023-06-01\n",
       "  * valid_time  (valid_time) datetime64[ns] 2023-06-01T01:00:00 ... 2023-06-06\n",
       "Data variables:\n",
       "    tp          (valid_time, step, lat, lon) float64 dask.array&lt;chunksize=(24, 1, 3, 3), meta=np.ndarray&gt;\n",
       "Attributes:\n",
       "    centre:             kwbc\n",
       "    centreDescription:  US National Weather Service - NCEP\n",
       "    edition:            2\n",
       "    subCentre:          0</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.Dataset</div></div><ul class='xr-sections'><li class='xr-section-item'><input id='section-396253b8-63e0-4fbe-a644-32758fd63c04' class='xr-section-summary-in' type='checkbox' disabled ><label for='section-396253b8-63e0-4fbe-a644-32758fd63c04' class='xr-section-summary'  title='Expand/collapse section'>Dimensions:</label><div class='xr-section-inline-details'><ul class='xr-dim-list'><li><span class='xr-has-index'>lat</span>: 3</li><li><span class='xr-has-index'>lon</span>: 3</li><li><span class='xr-has-index'>step</span>: 120</li><li><span class='xr-has-index'>time</span>: 1</li><li><span class='xr-has-index'>valid_time</span>: 120</li></ul></div><div class='xr-section-details'></div></li><li class='xr-section-item'><input id='section-77822442-9034-4f3d-9c2e-293885b77b22' class='xr-section-summary-in' type='checkbox'  checked><label for='section-77822442-9034-4f3d-9c2e-293885b77b22' class='xr-section-summary' >Coordinates: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>39.75 40.0 40.25</div><input id='attrs-30380451-dfeb-491f-b2bf-6c2906c255c6' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-30380451-dfeb-491f-b2bf-6c2906c255c6' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-e4cbf91b-c1a8-41e1-970b-23c2ce70a3c2' class='xr-var-data-in' type='checkbox'><label for='data-e4cbf91b-c1a8-41e1-970b-23c2ce70a3c2' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>standard_name :</span></dt><dd>latitude</dd><dt><span>units :</span></dt><dd>degrees_north</dd></dl></div><div class='xr-var-data'><pre>array([39.75, 40.  , 40.25])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>122.2 122.5 122.8</div><input id='attrs-0538f419-ff87-49c5-8b79-3c5f5f69cf10' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0538f419-ff87-49c5-8b79-3c5f5f69cf10' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d2e47fcf-4387-4d93-8c3f-53d76b4cbc06' class='xr-var-data-in' type='checkbox'><label for='data-d2e47fcf-4387-4d93-8c3f-53d76b4cbc06' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>standard_name :</span></dt><dd>longitude</dd><dt><span>units :</span></dt><dd>degrees_east</dd></dl></div><div class='xr-var-data'><pre>array([122.25, 122.5 , 122.75])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>step</span></div><div class='xr-var-dims'>(step)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>1 2 3 4 5 6 ... 116 117 118 119 120</div><input id='attrs-ad8e2c10-2d81-4e4b-a4b8-8d444967cf36' class='xr-var-attrs-in' type='checkbox' disabled><label for='attrs-ad8e2c10-2d81-4e4b-a4b8-8d444967cf36' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-3edaffac-35da-4733-a693-96116f3c2f4a' class='xr-var-data-in' type='checkbox'><label for='data-3edaffac-35da-4733-a693-96116f3c2f4a' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'></dl></div><div class='xr-var-data'><pre>array([  1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,  13,  14,\n",
       "        15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,  26,  27,  28,\n",
       "        29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,  41,  42,\n",
       "        43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,  54,  55,  56,\n",
       "        57,  58,  59,  60,  61,  62,  63,  64,  65,  66,  67,  68,  69,  70,\n",
       "        71,  72,  73,  74,  75,  76,  77,  78,  79,  80,  81,  82,  83,  84,\n",
       "        85,  86,  87,  88,  89,  90,  91,  92,  93,  94,  95,  96,  97,  98,\n",
       "        99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,\n",
       "       113, 114, 115, 116, 117, 118, 119, 120])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2023-06-01</div><input id='attrs-c645b3b5-0889-4752-b9d5-3dcc72a8ce93' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-c645b3b5-0889-4752-b9d5-3dcc72a8ce93' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-837bd2f4-5b77-4787-a66b-8c33250d5d92' class='xr-var-data-in' type='checkbox'><label for='data-837bd2f4-5b77-4787-a66b-8c33250d5d92' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>initial time of forecast</dd><dt><span>standard_name :</span></dt><dd>forecast_reference_time</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2023-06-01T00:00:00.000000000&#x27;], dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>valid_time</span></div><div class='xr-var-dims'>(valid_time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2023-06-01T01:00:00 ... 2023-06-06</div><input id='attrs-29a64c56-abf3-4e6f-8cfa-6912a68fbb59' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-29a64c56-abf3-4e6f-8cfa-6912a68fbb59' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-dbb2e64c-1403-4364-b024-2db4af3f121f' class='xr-var-data-in' type='checkbox'><label for='data-dbb2e64c-1403-4364-b024-2db4af3f121f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>_FillValue :</span></dt><dd>1970-01-01T00:00:00.000000000</dd></dl></div><div class='xr-var-data'><pre>array([&#x27;2023-06-01T01:00:00.000000000&#x27;, &#x27;2023-06-01T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T03:00:00.000000000&#x27;, &#x27;2023-06-01T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T05:00:00.000000000&#x27;, &#x27;2023-06-01T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T07:00:00.000000000&#x27;, &#x27;2023-06-01T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T09:00:00.000000000&#x27;, &#x27;2023-06-01T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T11:00:00.000000000&#x27;, &#x27;2023-06-01T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T13:00:00.000000000&#x27;, &#x27;2023-06-01T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T15:00:00.000000000&#x27;, &#x27;2023-06-01T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T17:00:00.000000000&#x27;, &#x27;2023-06-01T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T19:00:00.000000000&#x27;, &#x27;2023-06-01T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T21:00:00.000000000&#x27;, &#x27;2023-06-01T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-01T23:00:00.000000000&#x27;, &#x27;2023-06-02T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T01:00:00.000000000&#x27;, &#x27;2023-06-02T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T03:00:00.000000000&#x27;, &#x27;2023-06-02T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T05:00:00.000000000&#x27;, &#x27;2023-06-02T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T07:00:00.000000000&#x27;, &#x27;2023-06-02T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T09:00:00.000000000&#x27;, &#x27;2023-06-02T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T11:00:00.000000000&#x27;, &#x27;2023-06-02T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T13:00:00.000000000&#x27;, &#x27;2023-06-02T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T15:00:00.000000000&#x27;, &#x27;2023-06-02T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T17:00:00.000000000&#x27;, &#x27;2023-06-02T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T19:00:00.000000000&#x27;, &#x27;2023-06-02T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T21:00:00.000000000&#x27;, &#x27;2023-06-02T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-02T23:00:00.000000000&#x27;, &#x27;2023-06-03T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T01:00:00.000000000&#x27;, &#x27;2023-06-03T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T03:00:00.000000000&#x27;, &#x27;2023-06-03T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T05:00:00.000000000&#x27;, &#x27;2023-06-03T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T07:00:00.000000000&#x27;, &#x27;2023-06-03T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T09:00:00.000000000&#x27;, &#x27;2023-06-03T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T11:00:00.000000000&#x27;, &#x27;2023-06-03T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T13:00:00.000000000&#x27;, &#x27;2023-06-03T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T15:00:00.000000000&#x27;, &#x27;2023-06-03T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T17:00:00.000000000&#x27;, &#x27;2023-06-03T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T19:00:00.000000000&#x27;, &#x27;2023-06-03T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T21:00:00.000000000&#x27;, &#x27;2023-06-03T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-03T23:00:00.000000000&#x27;, &#x27;2023-06-04T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T01:00:00.000000000&#x27;, &#x27;2023-06-04T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T03:00:00.000000000&#x27;, &#x27;2023-06-04T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T05:00:00.000000000&#x27;, &#x27;2023-06-04T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T07:00:00.000000000&#x27;, &#x27;2023-06-04T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T09:00:00.000000000&#x27;, &#x27;2023-06-04T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T11:00:00.000000000&#x27;, &#x27;2023-06-04T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T13:00:00.000000000&#x27;, &#x27;2023-06-04T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T15:00:00.000000000&#x27;, &#x27;2023-06-04T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T17:00:00.000000000&#x27;, &#x27;2023-06-04T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T19:00:00.000000000&#x27;, &#x27;2023-06-04T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T21:00:00.000000000&#x27;, &#x27;2023-06-04T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-04T23:00:00.000000000&#x27;, &#x27;2023-06-05T00:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T01:00:00.000000000&#x27;, &#x27;2023-06-05T02:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T03:00:00.000000000&#x27;, &#x27;2023-06-05T04:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T05:00:00.000000000&#x27;, &#x27;2023-06-05T06:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T07:00:00.000000000&#x27;, &#x27;2023-06-05T08:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T09:00:00.000000000&#x27;, &#x27;2023-06-05T10:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T11:00:00.000000000&#x27;, &#x27;2023-06-05T12:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T13:00:00.000000000&#x27;, &#x27;2023-06-05T14:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T15:00:00.000000000&#x27;, &#x27;2023-06-05T16:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T17:00:00.000000000&#x27;, &#x27;2023-06-05T18:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T19:00:00.000000000&#x27;, &#x27;2023-06-05T20:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T21:00:00.000000000&#x27;, &#x27;2023-06-05T22:00:00.000000000&#x27;,\n",
       "       &#x27;2023-06-05T23:00:00.000000000&#x27;, &#x27;2023-06-06T00:00:00.000000000&#x27;],\n",
       "      dtype=&#x27;datetime64[ns]&#x27;)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-b3a2aa6f-11de-4bb7-818d-a32c8302804c' class='xr-section-summary-in' type='checkbox'  checked><label for='section-b3a2aa6f-11de-4bb7-818d-a32c8302804c' class='xr-section-summary' >Data variables: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span>tp</span></div><div class='xr-var-dims'>(valid_time, step, lat, lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>dask.array&lt;chunksize=(24, 1, 3, 3), meta=np.ndarray&gt;</div><input id='attrs-85a56b3f-9c54-4649-a8f6-805bf421b524' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-85a56b3f-9c54-4649-a8f6-805bf421b524' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-2b8c5d26-2b3c-4e31-a5e0-621d376fef1f' class='xr-var-data-in' type='checkbox'><label for='data-2b8c5d26-2b3c-4e31-a5e0-621d376fef1f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>NV :</span></dt><dd>0</dd><dt><span>cfName :</span></dt><dd>unknown</dd><dt><span>cfVarName :</span></dt><dd>unknown</dd><dt><span>dataDate :</span></dt><dd>20230601</dd><dt><span>dataTime :</span></dt><dd>0</dd><dt><span>dataType :</span></dt><dd>fc</dd><dt><span>endStep :</span></dt><dd>1</dd><dt><span>gridDefinitionDescription :</span></dt><dd>Latitude/longitude. Also called equidistant cylindrical, or Plate Carree</dd><dt><span>gridType :</span></dt><dd>regular_ll</dd><dt><span>missingValue :</span></dt><dd>9999</dd><dt><span>name :</span></dt><dd>Total Precipitation</dd><dt><span>numberOfPoints :</span></dt><dd>51865</dd><dt><span>paramId :</span></dt><dd>228228</dd><dt><span>shortName :</span></dt><dd>tp</dd><dt><span>stepType :</span></dt><dd>accum</dd><dt><span>stepUnits :</span></dt><dd>1</dd><dt><span>typeOfLevel :</span></dt><dd>surface</dd><dt><span>units :</span></dt><dd>kg m**-2</dd></dl></div><div class='xr-var-data'><table>\n",
       "    <tr>\n",
       "        <td>\n",
       "            <table style=\"border-collapse: collapse;\">\n",
       "                <thead>\n",
       "                    <tr>\n",
       "                        <td> </td>\n",
       "                        <th> Array </th>\n",
       "                        <th> Chunk </th>\n",
       "                    </tr>\n",
       "                </thead>\n",
       "                <tbody>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Bytes </th>\n",
       "                        <td> 0.99 MiB </td>\n",
       "                        <td> 1.69 kiB </td>\n",
       "                    </tr>\n",
       "                    \n",
       "                    <tr>\n",
       "                        <th> Shape </th>\n",
       "                        <td> (120, 120, 3, 3) </td>\n",
       "                        <td> (24, 1, 3, 3) </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Dask graph </th>\n",
       "                        <td colspan=\"2\"> 600 chunks in 3 graph layers </td>\n",
       "                    </tr>\n",
       "                    <tr>\n",
       "                        <th> Data type </th>\n",
       "                        <td colspan=\"2\"> float64 numpy.ndarray </td>\n",
       "                    </tr>\n",
       "                </tbody>\n",
       "            </table>\n",
       "        </td>\n",
       "        <td>\n",
       "        <svg width=\"530\" height=\"150\" style=\"stroke:rgb(0,0,0);stroke-width:1\" >\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"0\" y1=\"0\" x2=\"120\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"0\" y1=\"25\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"0\" y1=\"0\" x2=\"0\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"24\" y1=\"0\" x2=\"24\" y2=\"25\" />\n",
       "  <line x1=\"48\" y1=\"0\" x2=\"48\" y2=\"25\" />\n",
       "  <line x1=\"72\" y1=\"0\" x2=\"72\" y2=\"25\" />\n",
       "  <line x1=\"96\" y1=\"0\" x2=\"96\" y2=\"25\" />\n",
       "  <line x1=\"120\" y1=\"0\" x2=\"120\" y2=\"25\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"0.0,0.0 120.0,0.0 120.0,25.412616514582485 0.0,25.412616514582485\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"60.000000\" y=\"45.412617\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >120</text>\n",
       "  <text x=\"140.000000\" y=\"12.706308\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,140.000000,12.706308)\">1</text>\n",
       "\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"260\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"190\" y1=\"30\" x2=\"260\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"190\" y2=\"30\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"191\" y1=\"1\" x2=\"191\" y2=\"32\" />\n",
       "  <line x1=\"194\" y1=\"4\" x2=\"194\" y2=\"34\" />\n",
       "  <line x1=\"196\" y1=\"6\" x2=\"196\" y2=\"36\" />\n",
       "  <line x1=\"198\" y1=\"8\" x2=\"198\" y2=\"39\" />\n",
       "  <line x1=\"200\" y1=\"10\" x2=\"200\" y2=\"40\" />\n",
       "  <line x1=\"202\" y1=\"12\" x2=\"202\" y2=\"43\" />\n",
       "  <line x1=\"205\" y1=\"15\" x2=\"205\" y2=\"45\" />\n",
       "  <line x1=\"207\" y1=\"17\" x2=\"207\" y2=\"47\" />\n",
       "  <line x1=\"209\" y1=\"19\" x2=\"209\" y2=\"49\" />\n",
       "  <line x1=\"211\" y1=\"21\" x2=\"211\" y2=\"52\" />\n",
       "  <line x1=\"214\" y1=\"24\" x2=\"214\" y2=\"54\" />\n",
       "  <line x1=\"216\" y1=\"26\" x2=\"216\" y2=\"56\" />\n",
       "  <line x1=\"218\" y1=\"28\" x2=\"218\" y2=\"58\" />\n",
       "  <line x1=\"220\" y1=\"30\" x2=\"220\" y2=\"60\" />\n",
       "  <line x1=\"222\" y1=\"32\" x2=\"222\" y2=\"63\" />\n",
       "  <line x1=\"225\" y1=\"35\" x2=\"225\" y2=\"65\" />\n",
       "  <line x1=\"227\" y1=\"37\" x2=\"227\" y2=\"67\" />\n",
       "  <line x1=\"229\" y1=\"39\" x2=\"229\" y2=\"69\" />\n",
       "  <line x1=\"231\" y1=\"41\" x2=\"231\" y2=\"72\" />\n",
       "  <line x1=\"234\" y1=\"44\" x2=\"234\" y2=\"74\" />\n",
       "  <line x1=\"235\" y1=\"45\" x2=\"235\" y2=\"76\" />\n",
       "  <line x1=\"238\" y1=\"48\" x2=\"238\" y2=\"78\" />\n",
       "  <line x1=\"240\" y1=\"50\" x2=\"240\" y2=\"80\" />\n",
       "  <line x1=\"242\" y1=\"52\" x2=\"242\" y2=\"83\" />\n",
       "  <line x1=\"244\" y1=\"54\" x2=\"244\" y2=\"85\" />\n",
       "  <line x1=\"247\" y1=\"57\" x2=\"247\" y2=\"87\" />\n",
       "  <line x1=\"249\" y1=\"59\" x2=\"249\" y2=\"89\" />\n",
       "  <line x1=\"251\" y1=\"61\" x2=\"251\" y2=\"92\" />\n",
       "  <line x1=\"253\" y1=\"63\" x2=\"253\" y2=\"93\" />\n",
       "  <line x1=\"255\" y1=\"65\" x2=\"255\" y2=\"96\" />\n",
       "  <line x1=\"258\" y1=\"68\" x2=\"258\" y2=\"98\" />\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"260\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"190.0,0.0 260.5882352941177,70.58823529411765 260.5882352941177,100.89963497778054 190.0,30.31139968366288\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"220\" y2=\"0\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"191\" y1=\"1\" x2=\"222\" y2=\"1\" />\n",
       "  <line x1=\"194\" y1=\"4\" x2=\"224\" y2=\"4\" />\n",
       "  <line x1=\"196\" y1=\"6\" x2=\"226\" y2=\"6\" />\n",
       "  <line x1=\"198\" y1=\"8\" x2=\"229\" y2=\"8\" />\n",
       "  <line x1=\"200\" y1=\"10\" x2=\"230\" y2=\"10\" />\n",
       "  <line x1=\"202\" y1=\"12\" x2=\"233\" y2=\"12\" />\n",
       "  <line x1=\"205\" y1=\"15\" x2=\"235\" y2=\"15\" />\n",
       "  <line x1=\"207\" y1=\"17\" x2=\"237\" y2=\"17\" />\n",
       "  <line x1=\"209\" y1=\"19\" x2=\"239\" y2=\"19\" />\n",
       "  <line x1=\"211\" y1=\"21\" x2=\"242\" y2=\"21\" />\n",
       "  <line x1=\"214\" y1=\"24\" x2=\"244\" y2=\"24\" />\n",
       "  <line x1=\"216\" y1=\"26\" x2=\"246\" y2=\"26\" />\n",
       "  <line x1=\"218\" y1=\"28\" x2=\"248\" y2=\"28\" />\n",
       "  <line x1=\"220\" y1=\"30\" x2=\"250\" y2=\"30\" />\n",
       "  <line x1=\"222\" y1=\"32\" x2=\"253\" y2=\"32\" />\n",
       "  <line x1=\"225\" y1=\"35\" x2=\"255\" y2=\"35\" />\n",
       "  <line x1=\"227\" y1=\"37\" x2=\"257\" y2=\"37\" />\n",
       "  <line x1=\"229\" y1=\"39\" x2=\"259\" y2=\"39\" />\n",
       "  <line x1=\"231\" y1=\"41\" x2=\"262\" y2=\"41\" />\n",
       "  <line x1=\"234\" y1=\"44\" x2=\"264\" y2=\"44\" />\n",
       "  <line x1=\"235\" y1=\"45\" x2=\"266\" y2=\"45\" />\n",
       "  <line x1=\"238\" y1=\"48\" x2=\"268\" y2=\"48\" />\n",
       "  <line x1=\"240\" y1=\"50\" x2=\"270\" y2=\"50\" />\n",
       "  <line x1=\"242\" y1=\"52\" x2=\"273\" y2=\"52\" />\n",
       "  <line x1=\"244\" y1=\"54\" x2=\"275\" y2=\"54\" />\n",
       "  <line x1=\"247\" y1=\"57\" x2=\"277\" y2=\"57\" />\n",
       "  <line x1=\"249\" y1=\"59\" x2=\"279\" y2=\"59\" />\n",
       "  <line x1=\"251\" y1=\"61\" x2=\"282\" y2=\"61\" />\n",
       "  <line x1=\"253\" y1=\"63\" x2=\"283\" y2=\"63\" />\n",
       "  <line x1=\"255\" y1=\"65\" x2=\"286\" y2=\"65\" />\n",
       "  <line x1=\"258\" y1=\"68\" x2=\"288\" y2=\"68\" />\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"290\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"190\" y1=\"0\" x2=\"260\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"220\" y1=\"0\" x2=\"290\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"190.0,0.0 220.31139968366287,0.0 290.8996349777805,70.58823529411765 260.5882352941177,70.58823529411765\" style=\"fill:#8B4903A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Horizontal lines -->\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"290\" y2=\"70\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"260\" y1=\"100\" x2=\"290\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Vertical lines -->\n",
       "  <line x1=\"260\" y1=\"70\" x2=\"260\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "  <line x1=\"290\" y1=\"70\" x2=\"290\" y2=\"100\" style=\"stroke-width:2\" />\n",
       "\n",
       "  <!-- Colored Rectangle -->\n",
       "  <polygon points=\"260.5882352941177,70.58823529411765 290.8996349777806,70.58823529411765 290.8996349777806,100.89963497778054 260.5882352941177,100.89963497778054\" style=\"fill:#ECB172A0;stroke-width:0\"/>\n",
       "\n",
       "  <!-- Text -->\n",
       "  <text x=\"275.743935\" y=\"120.899635\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" >3</text>\n",
       "  <text x=\"310.899635\" y=\"85.743935\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(0,310.899635,85.743935)\">3</text>\n",
       "  <text x=\"215.294118\" y=\"85.605517\" font-size=\"1.0rem\" font-weight=\"100\" text-anchor=\"middle\" transform=\"rotate(45,215.294118,85.605517)\">120</text>\n",
       "</svg>\n",
       "        </td>\n",
       "    </tr>\n",
       "</table></div></li></ul></div></li><li class='xr-section-item'><input id='section-1319403f-e6c3-43d7-9877-51737444beea' class='xr-section-summary-in' type='checkbox'  ><label for='section-1319403f-e6c3-43d7-9877-51737444beea' class='xr-section-summary' >Indexes: <span>(5)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>lat</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-518cbd42-2a09-4ea9-ad7d-a9910b7acee4' class='xr-index-data-in' type='checkbox'/><label for='index-518cbd42-2a09-4ea9-ad7d-a9910b7acee4' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([39.75, 40.0, 40.25], dtype=&#x27;float64&#x27;, name=&#x27;lat&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>lon</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-8f7abf6d-021e-450a-9a2e-4b614aded9c8' class='xr-index-data-in' type='checkbox'/><label for='index-8f7abf6d-021e-450a-9a2e-4b614aded9c8' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([122.25, 122.5, 122.75], dtype=&#x27;float64&#x27;, name=&#x27;lon&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>step</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-607a5b4e-70cc-483b-9fc1-011f39ba0cad' class='xr-index-data-in' type='checkbox'/><label for='index-607a5b4e-70cc-483b-9fc1-011f39ba0cad' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([  1,   2,   3,   4,   5,   6,   7,   8,   9,  10,\n",
       "       ...\n",
       "       111, 112, 113, 114, 115, 116, 117, 118, 119, 120],\n",
       "      dtype=&#x27;int64&#x27;, name=&#x27;step&#x27;, length=120))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-932f4036-2b60-4e36-baab-2b9120c043dc' class='xr-index-data-in' type='checkbox'/><label for='index-932f4036-2b60-4e36-baab-2b9120c043dc' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2023-06-01&#x27;], dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;time&#x27;, freq=None))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>valid_time</div></div><div class='xr-index-preview'>PandasIndex</div><div></div><input id='index-f379a75f-dca9-4c1c-8d92-4da30c800f27' class='xr-index-data-in' type='checkbox'/><label for='index-f379a75f-dca9-4c1c-8d92-4da30c800f27' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(DatetimeIndex([&#x27;2023-06-01 01:00:00&#x27;, &#x27;2023-06-01 02:00:00&#x27;,\n",
       "               &#x27;2023-06-01 03:00:00&#x27;, &#x27;2023-06-01 04:00:00&#x27;,\n",
       "               &#x27;2023-06-01 05:00:00&#x27;, &#x27;2023-06-01 06:00:00&#x27;,\n",
       "               &#x27;2023-06-01 07:00:00&#x27;, &#x27;2023-06-01 08:00:00&#x27;,\n",
       "               &#x27;2023-06-01 09:00:00&#x27;, &#x27;2023-06-01 10:00:00&#x27;,\n",
       "               ...\n",
       "               &#x27;2023-06-05 15:00:00&#x27;, &#x27;2023-06-05 16:00:00&#x27;,\n",
       "               &#x27;2023-06-05 17:00:00&#x27;, &#x27;2023-06-05 18:00:00&#x27;,\n",
       "               &#x27;2023-06-05 19:00:00&#x27;, &#x27;2023-06-05 20:00:00&#x27;,\n",
       "               &#x27;2023-06-05 21:00:00&#x27;, &#x27;2023-06-05 22:00:00&#x27;,\n",
       "               &#x27;2023-06-05 23:00:00&#x27;, &#x27;2023-06-06 00:00:00&#x27;],\n",
       "              dtype=&#x27;datetime64[ns]&#x27;, name=&#x27;valid_time&#x27;, length=120, freq=None))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-ac44411f-80f8-4168-9ebb-3c281f1e2bc5' class='xr-section-summary-in' type='checkbox'  checked><label for='section-ac44411f-80f8-4168-9ebb-3c281f1e2bc5' class='xr-section-summary' >Attributes: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>centre :</span></dt><dd>kwbc</dd><dt><span>centreDescription :</span></dt><dd>US National Weather Service - NCEP</dd><dt><span>edition :</span></dt><dd>2</dd><dt><span>subCentre :</span></dt><dd>0</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.Dataset>\n",
       "Dimensions:     (lat: 3, lon: 3, step: 120, time: 1, valid_time: 120)\n",
       "Coordinates:\n",
       "  * lat         (lat) float64 39.75 40.0 40.25\n",
       "  * lon         (lon) float64 122.2 122.5 122.8\n",
       "  * step        (step) int64 1 2 3 4 5 6 7 8 ... 113 114 115 116 117 118 119 120\n",
       "  * time        (time) datetime64[ns] 2023-06-01\n",
       "  * valid_time  (valid_time) datetime64[ns] 2023-06-01T01:00:00 ... 2023-06-06\n",
       "Data variables:\n",
       "    tp          (valid_time, step, lat, lon) float64 dask.array<chunksize=(24, 1, 3, 3), meta=np.ndarray>\n",
       "Attributes:\n",
       "    centre:             kwbc\n",
       "    centreDescription:  US National Weather Service - NCEP\n",
       "    edition:            2\n",
       "    subCentre:          0"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "aoi = gpd.read_file(shp)\n",
    "f3 = gfs.from_aoi(creation_date=creation_date, creation_time='00', dataset='wis', aoi=aoi)\n",
    "f3"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (dev-env)",
   "language": "python",
   "name": "dev-env"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
